使用a serverfault submission的答案我为/etc/shadow
生成了密码哈希,但结果在Windows(Cygwin)或Mac上生成:
mistral.local:~(16)+>- python -c 'import crypt; print crypt.crypt("test","$6$randomsalt")'
$6asQOJRqB1i2
mistral.local:~(17)+>-
与Solaris 10& 11:
pkearns@solaris11:~/tmp$ python -c 'import crypt; print crypt.crypt("test","$6$randomsalt")'
$6$randomsalt$gZCCiaoqM7ivJDVPx3T4hr23J7WDQjneAucycYvJeMoBZHAx9bx8y2pUL.hE2MhbSRcgTjEE9klIhBq1WF8Pa1
pkearns@solaris11:~/tmp$
任何人都可以解释一下吗?
答案 0 :(得分:1)
Crypt是一个使哈希与系统一致的函数。
我不确定Mac和Windows,但在Linux系统上它是一个经过修改的DES,对于Solaris它是可插入的算法,建议使用SHA-256或SHA-512。
如果你需要为你的软件制作密码哈希 - 你最好使用hashlib。
答案 1 :(得分:0)
crypt module仅适用于Unix。
也许您在系统中使用自己的crypt版本。
尝试以下命令来告知crypt模块的来源:
python -c 'import crypt; print crypt.__file__'