我使用OSX 10.9(最新版本)和最后一个Xcode。当我执行以下命令时:
python -c 'import crypt; print crypt.crypt("test", "$6$random_salt")'
我得到了这个答案:
$6asQOJRqB1i2
但如果我在debian机器(相同版本的python)中执行相同操作,我会得到以下内容:
$6$random_salt$sJ0ZOQCUESBs9rYCOLCqGV93zg1cSDgZV/FF6ZBzpnvNUVODwaaVoPV2SiL0ur7Sexh02hMmXdSBOa216GWoh.
我的机器出了什么问题?
答案 0 :(得分:2)
在Mac OS X上crypt()
的实现不支持Linux glibc crypt()
支持的大多数“高级”模式。它只支持“传统crypt()
”,这是你在这里得到的,以及“扩展crypt()
”模式,它与Linux实现不兼容。
如果您需要在Linux和Mac OS X上轻松创建强密码哈希,则需要使用crypt()
以外的其他内容。
答案 1 :(得分:1)
问题似乎是在@dukswuff注释的crypt实现中。如果有人遇到同样的问题,可以在这里阅读python替代解决方案:https://stackoverflow.com/a/17992126/2208811