Linux

驗證使用 yescrypt 算法的散列加鹽密碼

  • June 27, 2022

為了驗證密碼雜湊,我們可以使用openssl passwd如下所示並在此處解釋

openssl passwd $HASHING-ALGORITHM -salt j9T$F31F/jItUvvjOv6IBFNea/ $CLEAR-TEXT-PASSWORD

但是,這僅適用於以下算法:md5、crypt、apr1、aixmd5、SHA-256、SHA-512

如何計算散列密碼,從 bash 或 python 或 nodeJS 為 $CLEAR-TEXT-PASSWORD,使用鹽使用 yescrypt ?

perl’scrypt()python3’scrypt.crypt()應該只是系統crypt()/的介面crypt_r(),因此您應該能夠:

$ export PASS=password SALT='$y$j9T$F31F/jItUvvjOv6IBFNea/$'
$ perl -le 'print crypt($ENV{PASS}, $ENV{SALT})'
$y$j9T$F31F/jItUvvjOv6IBFNea/$pCTLzX1nL7rq52IXxWmYiJwii4RJAGDJwZl/LHgM/UD
$ python -c 'import crypt, os; print(crypt.crypt(os.getenv("PASS"), os.getenv("SALT")))'
$y$j9T$F31F/jItUvvjOv6IBFNea/$pCTLzX1nL7rq52IXxWmYiJwii4RJAGDJwZl/LHgM/UD

(前提是您的系統crypt()支持帶有鹽的 yescript 算法$y$...

引用自:https://unix.stackexchange.com/questions/707720