perl पर्ल में glibc 2.7 शैली शा-512 क्रिप्ट हैश बनाना




cryptography passwords (2)

इसलिए, मेरे पास एक वेबसाइट है जो डेटाबेस से पासवर्ड को पढ़ता / सत्यापित करता है (और लिखता है), और मेरे पास ऐसी कोई चीज है जो SHA-512 शैली पासवर्ड बना देती है, जो ये दिखते हैं:

$6$GloHensinmyampOc$AxvlkxxXk36oDOyu8phBzbCfLn8hyWgoYNEuqNS.3dHf4JJrwlYCqha/g6pA7HJ1WwsADjWU4Qz8MfSWM2w6F.

वेबसाइट जावा आधारित है, इसलिए मैंने इसके लिए एक एसएचए -512 हैशर लिखा था। समस्या यह है कि पर्ल क्रॉन जॉब्स का एक गुच्छा है जो कि रनिंग डेटाबेस को कभी-कभी पासवर्ड की जांच करने की ज़रूरत होती है, और जब से सॉल्लिस बॉक्स पर चलने वाले होते हैं, तो क्रिप्ट $ 6 $ प्रारूप का समर्थन नहीं करता है।

तो, जब मैं करता हूं:

printf("crypt => '%s'\n",crypt("Hello",'$1$CygnieHyitJoconf$'));

मैं वापस समझदारी से मिलता हूं:

crypt => '$1$CygnieHy$n9MlDleP0qmGCfpbnVYy11'

जबकि, अगर मैं करता हूँ

printf("crypt => '%s'\n",crypt("Hello",'$6$CygnieHyitJoconf$'));

मुझे एक बेकार मिल रहा है

crypt => ''

क्या पर्ल में SHA-512 पासवर्ड हैश प्राप्त करने का कोई तरीका है जो glibc का उपयोग नहीं कर रहा है? (यही वह चीज़ है जो मुझे मिलती है जब मैं ज्यादातर खोज करता हूं ("क्रिप्ट का उपयोग करें")।

मैं वास्तव में पर्ल में एसएचए -512 पासवर्ड हैश फिर से लागू नहीं कर सकता था

धन्यवाद!


दरअसल, मुझे लगता है कि मुझे अपना जवाब मिला: Crypt :: Passwd :: XS

Crypt :: Passwd :: XS - आम क्रिप्ट () एल्गोरिदम के पूर्ण XS कार्यान्वयन

यह unix_md5, apache_md5, unix_des, unix_sha256 और unix_sha512 करता है .. मुझे लगता है कि यह थोड़ा दुर्भाग्यपूर्ण है कि यह ब्लॉफ़िश नहीं करता है लेकिन, फिर भी, यह मेरी समस्या का हल करता है! वैसे भी वैसे भी धन्यवाद!

use strict;
use Crypt::Passwd::XS;

{
        printf("crypt => %s\n",Crypt::Passwd::XS::crypt("Hello",'$6$CygnieHyitJoconf$'));
}

अब रिटर्न

crypt => $6$CygnieHyitJoconf$vkGJm.nLrFhyWHhNTvOh9fH/k7y6k.8ed.N7TqwT93hPMPfAOUsrRiO3MmQB5xTm1XDCVlW2zwyzU48epp8pY/

जैसा सोचा था!


दुर्भाग्य से नहीं। crypt आपका सिस्टम लिबसी crypt , जो एल्गोरिदम को चुनने और एल्गोरिदम के मानचित्रण उपसर्ग स्ट्रिंग के लिए जिम्मेदार है। यदि आप एल्गोरिदम तक पहुंच चाहते हैं जो आपके सिस्टम में नहीं हैं तो आपको उनको पुन: लागू करने की आवश्यकता होगी, और libc वालों के मामले में, मुझे किसी भी पुनःपूर्ति के बारे में नहीं पता है। ग्लिब्क का "SHA-512" पासवर्ड हैश केवल एसएचए -512 नहीं है; यह एक कस्टम एल्गोरिथ्म है जो कि glibc के बाहर मौजूद नहीं है जो मुझे पता है। यदि आपके पास अभी भी एक मौका है, तो आप एक एल्गोरिदम को बदलना चाहेंगे जैसे बीसीआरपीटी या पीबीकेडीएफ-एसएचए -2, जो कि विभिन्न भाषाओं में कई कार्यान्वयन हैं।







password-encryption