समय-समय पर, मुझे नए पासवर्ड के साथ आने की आवश्यकता होती है, जिनमें से कुछ को दूसरों की तुलना में अधिक सुरक्षित होने की आवश्यकता होती है। जब मुझे एक नया लॉगिन बनाना होता है, तो मेरा दिमाग अक्सर खाली हो जाता है, और यह छोटी बैश स्क्रिप्ट उस शून्य को भर देती है। पूर्ण प्रकटीकरण:मैंने पाया कि इस स्क्रिप्ट का अधिकांश भाग कहीं पोस्ट किया गया है और इसमें एक मामूली संशोधन किया है।
#!/usr/bin/env sh
echo 'Generating 12-character passwords'
for ((n=0;n<12;n++))
do dd if=/dev/urandom count=1 2> /dev/null | uuencode -m - | sed -ne 2p | cut -c-12
done
यह कैसे काम करता है, इसके बारे में मुझे पूरी जानकारी नहीं है, लेकिन मैंने थोड़ा शोध और प्रयोग किया है। स्क्रिप्ट का "मांस" do dd . से शुरू होने वाली पंक्ति में है . आपने dd . देखा होगा एक डिस्क को दूसरी डिस्क में कॉपी करने के लिए उपयोग किया जाता है, लेकिन इस मामले में, इसका उपयोग यादृच्छिक वर्णों के एक ब्लॉक को dev/urandom के साथ उत्पन्न करने के लिए किया जाता है। . dd . से प्रतिक्रिया संदेश हटा दिए जाते हैं, और फिर पात्रों को uuencode . पर भेज दिया जाता है , जिसका काम पात्रों को बदलना है ताकि सभी प्रिंट करने योग्य हों (यानी, कोई नियंत्रण वर्ण नहीं)।
uuencode कमांड को शारुटिल्स पैकेज स्थापित करके प्राप्त किया जा सकता है।
sed . का कार्य ऐसा लगता है कि कुछ और परिवर्तन हुए हैं ताकि अक्षरों को ऊपरी और निचले मामले में मिश्रित किया जा सके। अंत में, काटें 12 वर्णों के पासवर्ड के साथ समाप्त करने के लिए 12 वर्णों को काटता है। के लिए लूप 12 बार चलता है, इसलिए आपको 12 पासवर्ड मिलते हैं।
Generating 12-character passwords
8WMKHeXeYsND
X+V3jWOuBWwp
fSk6inI+LfYP
hIPndcBOSh7m
bb/w9mx8OlHv
hdIOibUaMt3Y
wl//CobIG5bR
dih0qQQMJiXw
BIN2QfNA4jCe
DF0c8Auz1qL4
RM8MMq/D8C8H
rZIG5hbghcMy
यह उदाहरण आउटपुट पात्रों का एक बहुत अच्छा गड़गड़ाहट दिखाता है। ध्यान देने वाली एक बात यह है कि केवल गैर-अल्फ़ान्यूमेरिक वर्ण / . हैं और + ।
जब मुझे एक नया पासवर्ड चाहिए, तो मैं इस आउटपुट को एक के लिए देखता हूं जो मुझे "अपील" करता है। अगर यह एक पासवर्ड है जिसका मैं अक्सर उपयोग करूंगा, तो मैं चाहता हूं कि यह कुछ ऐसा हो जो मुझे लगता है कि मैं अंततः याद रख सकूं।
इनका शाब्दिक रूप से उपयोग करने का कोई कारण नहीं है; आप अपनी इच्छानुसार वर्ण जोड़ या संशोधित कर सकते हैं। मैं ज्यादातर आठ कैरेक्टर के पासवर्ड का इस्तेमाल करता हूं। कुछ स्थानों में विशिष्ट तत्वों के लिए पासवर्ड की आवश्यकता होती है, जैसे कम से कम एक लोअर-केस अक्षर, एक अपर-केस अक्षर, एक संख्या और एक प्रतीक।
अगर मुझे कोई पासवर्ड पसंद नहीं है, तो मैं एक और 12 उत्पन्न करने के लिए फिर से स्क्रिप्ट चलाता हूं। कोई टिप्पणी कर सकता है कि dev/urandom केवल छद्म-यादृच्छिक संख्याएँ उत्पन्न करता है, लेकिन यह स्क्रिप्ट निश्चित रूप से बहुत बेहतर काम करती है जो मैं अपने दम पर कर सकता था।