Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

इस बैश स्क्रिप्ट के साथ यादृच्छिक पासवर्ड उत्पन्न करें

समय-समय पर, मुझे नए पासवर्ड के साथ आने की आवश्यकता होती है, जिनमें से कुछ को दूसरों की तुलना में अधिक सुरक्षित होने की आवश्यकता होती है। जब मुझे एक नया लॉगिन बनाना होता है, तो मेरा दिमाग अक्सर खाली हो जाता है, और यह छोटी बैश स्क्रिप्ट उस शून्य को भर देती है। पूर्ण प्रकटीकरण:मैंने पाया कि इस स्क्रिप्ट का अधिकांश भाग कहीं पोस्ट किया गया है और इसमें एक मामूली संशोधन किया है।

#!/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 केवल छद्म-यादृच्छिक संख्याएँ उत्पन्न करता है, लेकिन यह स्क्रिप्ट निश्चित रूप से बहुत बेहतर काम करती है जो मैं अपने दम पर कर सकता था।


  1. स्टारगेजिंग करते समय इस सहायक बैश स्क्रिप्ट का उपयोग करें

    हम अक्सर सर्वर पर और डेवलपर्स द्वारा लिनक्स के उपयोग के बारे में बात करते हैं, लेकिन इसका उपयोग खगोल विज्ञान सहित कई अन्य क्षेत्रों में भी किया जाता है। Linux के लिए बहुत सारे खगोल विज्ञान उपकरण उपलब्ध हैं, जैसे आकाश मानचित्र, तारा चार्ट, और आपके टेलीस्कोप को नियंत्रित करने के लिए टेलीस्कोप ड्राइव स

  1. इस साधारण बैश स्क्रिप्ट के साथ घर पर दो तरफा दस्तावेज़ प्रिंट करें

    हमारे पास घर पर एक लेजर प्रिंटर है। यह Hewlett Packard LaserJet Pro CP1525nw कलर प्रिंटर एक पुराना मॉडल है, लेकिन यह एक बेहतरीन वर्कहॉर्स रहा है जो मज़बूती से और रंग में प्रिंट करता है। मैंने इसे कुछ साल पहले हमारे रास्पबेरी पाई का उपयोग प्रिंट सर्वर के रूप में किया था। लेज़रजेट मेरे गृह कार्यालय

  1. बैश स्क्रिप्टिंग परिचय ट्यूटोरियल 5 व्यावहारिक उदाहरणों के साथ

    हमारी चल रही यूनिक्स सेड और यूनिक्स Awk श्रृंखला के समान, हम बैश स्क्रिप्टिंग पर कई लेख पोस्ट करेंगे, जो सभी बैश स्क्रिप्टिंग तकनीकों को व्यावहारिक उदाहरणों के साथ कवर करेगा। शेल एक प्रोग्राम है, जो यूजर कमांड की व्याख्या करता है। कमांड या तो उपयोगकर्ता द्वारा सीधे दर्ज किए जाते हैं या शेल स्क्रिप्