【अजीब】 .bashrc से बना पासवर्ड मैनेजर

5 min

language: ja bn en es hi pt ru zh-cn zh-tw

नमस्ते, मैं अक्षम हूँ।
मैं एक अजीब पासवर्ड मैनेजर पेश करूँगा।

.bashrc

मैंने अपने .bashrc में निम्नलिखित लिखा है।
वैसे, चूंकि यह base91 में एन्कोड किया गया है, इसलिए base91 को स्थापित करना अनिवार्य है।

pp2091g() {
  local dir="$HOME/.$FUNCNAME"
  if [[ -z "$1" || -z "$2" ]]; then
    echo "Usage: $FUNCNAME <string> <filename>"
    return 1
  fi

  if [[ ! -d $dir ]]; then
    mkdir -p $dir
  fi

  if [[ -f $dir/$2 ]]; then
    cat $dir/$2 | base91 | cut -c -20 | tr -d "\n" ; echo
    return 0
  fi

  echo -n "$1" | sha384sum | awk '{print $1}' | xxd -r -p > $dir/$2
  echo "Generated and saved to $dir/$2"
}

तो इसका क्या मतलब है, कृपया जनरेशन पार्ट के लिए नीचे देखें।
मुझे base91 के साथ एक सुरक्षित पासवर्ड चाहिए। - SOULMINIGRIG
यह वास्तव में एक सरल पासवर्ड मैनेजर है।
हालांकि, यदि आपके पास कई SSH गंतव्य हैं, तो इस तरह से प्रतीकात्मक वर्णों को आसानी से शामिल करना मुश्किल है, इसलिए मैंने इसे इस तरह से किया है।

क्या ऐसा नहीं है कि आप वेबसाइटों के लिए उपयोग किए जाने वाले पासवर्ड को याद रख सकते हैं यदि वे छोटे स्ट्रिंग हैं, लेकिन लंबे स्ट्रिंग नहीं?
इसलिए, यदि आप इसका उपयोग करते हैं, तो आप एक छोटी स्ट्रिंग के साथ अपेक्षाकृत मजबूत पासवर्ड उत्पन्न कर सकते हैं, और चूंकि यह हेक्साडेसिमल से पूरी तरह से बाइनरीकृत फ़ाइलों को एन्कोड करता है, पासवर्ड स्वयं सादे पाठ में सहेजा नहीं जाएगा।

यह ऐसा दिखेगा

यह ऐसा दिखेगा।

$ pp2091g string file
Generated and saved to /home/haturatu/.pp2091g/file
$ pp2091g string file
_+f2t2X9JyLf?S(GplK~

यदि प्रतीकात्मक वर्ण समर्थित नहीं हैं

यदि प्रतीकात्मक वर्ण base91 एन्कोडिंग द्वारा समर्थित नहीं हैं, तो हम base64 एन्कोडेड लंबी स्ट्रिंग का उपयोग करेंगे।
यह आवश्यक है क्योंकि जापान में कई साइटें हैं जो सभी प्रतीकों का समर्थन नहीं करती हैं।

pp6464g() {
  local dir="$HOME/.$FUNCNAME"
  if [[ -z "$1" || -z "$2" ]]; then
    echo "Usage: $FUNCNAME <string> <filename>"
    return 1
  fi

  if [[ ! -d $dir ]]; then
    mkdir -p $dir
  fi

  if [[ -f $dir/$2 ]]; then
    cat $dir/$2 | base64 | tr -d "\n" ; echo
    return 0
  fi

  echo -n "$1" | sha384sum | awk '{print $1}' | xxd -r -p > $dir/$2
  echo "Generated and saved to $dir/$2"
}

कमियां

एक बार सहेजी गई फ़ाइल को किसी भी strings द्वारा प्रदर्शित किया जा सकता है।

$ pp2091g string file
_+f2t2X9JyLf?S(GplK~
$ pp2091g stringa file
_+f2t2X9JyLf?S(GplK~

क्योंकि

  if [[ -f $dir/$2 ]]; then
    cat $dir/$2 | base64 | tr -d "\n" ; echo
    return 0
  fi

ऐसा इसलिए है क्योंकि यह केवल बाइनरी को cat करता है और इसे सीधे एन्कोड करता है।
इसके अलावा, यदि strings समान हैं, तो पासवर्ड भी समान होगा।

फायदे

प्रबंधन आसान है। चूंकि यह फ़ाइल-आधारित है, इसलिए यदि आवश्यक हो तो इसे सीधे दूसरे सर्वर पर उपयोग किया जा सकता है।
उत्पन्न करना भी आसान है। यदि आप फ़ाइल खो देते हैं, तब भी आप फ़ाइल नाम और strings को याद करके इसे पुनर्प्राप्त कर सकते हैं।
इस पासवर्ड मैनेजर का उद्देश्य केवल यह भावना है कि आप बाहरी रूप से यथासंभव कम निर्भर रहना चाहते हैं, केवल छोटे पासवर्ड याद रख सकते हैं, लेकिन अपेक्षाकृत सुरक्षित रहना चाहते हैं
यह ब्रूट फोर्स के खिलाफ मजबूत हो सकता है, लेकिन यदि शेल पर कब्जा कर लिया जाता है तो यह खतरनाक है। हालांकि, यदि आप केवल पासवर्ड प्राप्त करते हैं और मूल ईमेल पते/फोन नंबर नहीं जानते हैं और यह भी नहीं जानते हैं कि इसका उपयोग कहाँ किया जा रहा है, तो इसका बहुत कम मतलब है।
इसके अलावा, यह एक साधारण शेल स्क्रिप्ट है, इसलिए इसे अनुकूलित करना और बदलना आसान है। आप sha384sum के बजाय sha256sum का उपयोग कर सकते हैं, और आप अपनी पसंद के अनुसार कैरेक्टर एन्कोडिंग और स्ट्रिंग लंबाई को भी आसानी से बदल सकते हैं।

फिर मिलते हैं। धन्यवाद।

Related Posts