验证使用 yescrypt 算法的散列加盐密码

验证使用 yescrypt 算法的散列加盐密码

为了验证密码哈希,我们可以使用openssl passwd如下所示和解释这里

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

但是,这仅适用于以下算法:md5、crypt、apr1、aixmd5、SHA-256、SHA-512

如何使用 yescrypt 从 bash 或 python 或 nodeJS 计算 $CLEAR-TEXT-PASSWORD 的哈希密码?

答案1

perl'scrypt()python3's应该只是系统/crypt.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
$ python3 -c 'import crypt, os; print(crypt.crypt(os.getenv("PASS"), os.getenv("SALT")))'
$y$j9T$F31F/jItUvvjOv6IBFNea/$pCTLzX1nL7rq52IXxWmYiJwii4RJAGDJwZl/LHgM/UD

(前提是您的系统crypt()支持带盐的 yescript 算法$y$...

相关内容