शनिवार, 25 जुलाई 2015

MySQL के साथ त्वरित पासवर्ड पीढ़ी

Original post http://anothermysqldba.blogspot.com/2015/07/quick-password-generation-with-mysql.html

यहाँ MySQL का उपयोग कर एक पासवर्ड आपके आवेदन को उत्पन्न करने के लिए एक त्वरित और आसान तरीका है। 
यह प्रश्न एक ऊपरी और निचले मामले की लंबाई और मूल्यों में बेतरतीब ढंग से उत्पन्न पासवर्ड बनाएगा। 


SELECT CONCAT(UCASE(SUBSTRING( SUBSTRING(MD5(RAND()), FLOOR( 1 + (RAND() * 5)) , FLOOR( 8 + (RAND() * 15 )) ) , FLOOR( 1 + (RAND() * 4 )) , FLOOR( 4 + (RAND() * 12 )) )), 
SUBSTRING('!@#$%^&*', FLOOR( 1 + (RAND() * 4)) , FLOOR( 1 + (RAND() * 8)) ), 
SUBSTRING( SUBSTRING(MD5(RAND()), FLOOR( 1 + (RAND() * 5)) , FLOOR( 8 + (RAND() * 15 )) ) , 5)) as password \G 


तो दूसरी छमाही में यह एमडी 5 कि स्वचालित रूप से करता है क्योंकि शेष निचले मामले में है तो कुछ प्रतीकों कहते हैं जब लागू इस क्वेरी गतिशील पासवर्ड के 1 हिस्सा है और ऊपरी मामले में इसके लिए एक यादृच्छिक मान ले जाएगा। आप निश्चित रूप से आप पसंद करेंगे जो कुछ प्रतीकों को समायोजित कर सकते हैं। 

परिणामों का उदाहरण: 

CREATE TABLE `generated` ( 
`password` varchar(255) NOT NULL 
) ENGINE=InnoDB ; 

MariaDB [(none)]> INSERT INTO test.generated SELECT CONCAT(UCASE(SUBSTRING( SUBSTRING(MD5(RAND()), FLOOR( 1 + (RAND() * 5)) , FLOOR( 8 + (RAND() * 15 )) ) , FLOOR( 1 + (RAND() * 4 )) , FLOOR( 4 + (RAND() * 12 )) )), SUBSTRING('!@#$%^&*', FLOOR( 1 + (RAND() * 4)) , FLOOR( 1 + (RAND() * 8)) ),SUBSTRING( SUBSTRING(MD5(RAND()), FLOOR( 1 + (RAND() * 5)) , FLOOR( 8 + (RAND() * 15 )) ) , 5)) as password; 

MariaDB [(none)]> select * from test.generated; 
+-----------------------------------+ 
| password | 
+-----------------------------------+ 
| 7232E1D9$%^&*f7de22c1b14f15c8a6 | 
| DEE22B7F7#$%541adcdd1b8e2 | 
| 2C4BB81001@#$%^&d0d9a2126 | 
| 941D3B92D@#$%^a4b7be92 | 
| 1CF2563254FC@#a79bb5 | 
| 2AE86E7D6!@#$%^&*4ca03f2e8 | 
| 074DD8D3#$e70a1 | 
| B2DDC!@#$%^47a252f79 | 
| 3A6D0A#$%^&*01ce9278a2a | 
| E9FB4CD16E19!739db9faa1616505c | 
| 1ED7A2E1379B4!@#$%ebe60b | 
| E9B57D71DB1@#$%^e9a4f8c2e94bf3d35 | 
| C97982!@#$8b5c534653c06 | 
| DE8998057C8!@#$%^8977a807 | 
| 7C7172EB1AE5$%^&*79d2b27 | 
| B52CE71@#$%^&*4508 | 
| AB17714F!@#$%^&203ba4ff80f8a6 | 
| 558D@#$04087871e29ff54 | 
| 27A78E8EF#$%^b8cee8628d81593 | 
| 315F2EC4#ad9913ec0595c | 
+-----------------------------------+
 

रविवार, 28 जून 2015

फाइबोनैचि अनुक्रम प्रक्रिया

Original post: http://anothermysqldba.blogspot.com/2015/06/fibonacci-sequence-procedure.html

 मैं इस बारे में खेद तैनात बाद से अच्छी तरह से यह थोड़ी देर के लिए किया गया है। आज मैं टीवी शो फ्रिंज के reruns देख रहा था और वाल्टर फाइबोनैचि अनुक्रम संदर्भित जब मैं पक्ष इस बात के लिए MySQL के विकल्पों के साथ नज़र रखी हो गया। 

अब इस पद पहले से ही अस्तित्व में है: 

इसलिए मुझे लगता है कि पद संभाल लिया है और एक छोटे से इस पर विस्तार किया है, परिणाम है कि आप कॉल करते हैं और आप के बाद कर रहे हैं कि फाइबोनैचि अनुक्रम भीतर रेंज वापसी कर सकते हैं कि एक प्रक्रिया है। 

प्रक्रिया में नीचे है: 

delimiter // 
CREATE PROCEDURE `Fibonacci`(IN POS INT, IN RANG INT, IN LIMTED INT) 
BEGIN 
select FORMAT(Fibonacci,0) AS Fibonacci from ( 
select @f0 Fibonacci, @fn:=@f1+@f0, @f0:=@f1, @f1:=@fn 
from (select @f0:=0, @f1:=1, @fn:=1) x, 
information_schema.STATISTICS p limit LIMTED) y LIMIT POS, RANG; 
END// 
delimiter ; 


आप इस कॉल और जो कुछ मूल्यों के पास है और आप के बाद कर रहे पर्वतमाला कर सकते हैं। 

आप 5 वीं मूल्य चाहते हैं, तो अनुक्रम और अगले मूल्य में (0 से शुरू) 

> CALL Fibonacci(5,2,100); 
+-----------+ 
| Fibonacci | 
+-----------+ 
| 5 | 
| 8 | 
+-----------+ 


आप 30 वीं मूल्य चाहते हैं, तो अनुक्रम और अगले मूल्य में (0 से शुरू) 

> CALL Fibonacci(30,2,100); 
+-----------+ 
| Fibonacci | 
+-----------+ 
| 832,040 | 
| 1,346,269 | 
+-----------+ 


आप 150 वीं मूल्य चाहते हैं, तो अनुक्रम और अगले मूल्य में (0 से शुरू) 

> CALL Fibonacci(150,2,1000); 
+--------------------------------------------+ 
| Fibonacci | 
+--------------------------------------------+ 
| 9,969,216,677,189,305,000,000,000,000,000 | 
| 16,130,531,424,904,583,000,000,000,000,000 | 
+--------------------------------------------+ 


तो तुम यह विचार मिलता है। आप 2 बस प्रक्रिया कॉल में 2 मूल्य बदलने से भी अधिक चाहते हैं, तो अब आप भी परिणामों की रेंज का विस्तार कर सकते हैं। 

> CALL Fibonacci(0,10,100); 
+-----------+ 
| Fibonacci | 
+-----------+ 
| 0 | 
| 1 | 
| 1 | 
| 2 | 
| 3 | 
| 5 | 
| 8 | 
| 13 | 
| 21 | 
| 34 | 
+-----------+ 

> CALL Fibonacci(30,5,100); 
+-----------+ 
| Fibonacci | 
+-----------+ 
| 832,040 | 
| 1,346,269 | 
| 2,178,309 | 
| 3,524,578 | 
| 5,702,887 | 
+-----------+ 


वैसे भी, किसी के मूल पोस्ट करने के लिए जाना है क्वेरी के आधार के लिए यह उपयोगी और क्रेडिट पाता है उम्मीद है।