【问题标题】:crypt does not work in osx, returns wrong valuecrypt 在 osx 中不起作用,返回错误值
【发布时间】:2014-09-24 14:26:27
【问题描述】:

我正在使用带有最新 Xcode 的 OSX 10.9(最新版本)。当我执行以下命令时:

python -c 'import crypt; print crypt.crypt("test", "$6$random_salt")'

我得到这个答案:

$6asQOJRqB1i2

但如果我在 debian 机器(相同版本的 python)中执行相同操作,我会得到以下结果:

$6$random_salt$sJ0ZOQCUESBs9rYCOLCqGV93zg1cSDgZV/FF6ZBzpnvNUVODwaaVoPV2SiL0ur7Sexh02hMmXdSBOa216GWoh.

我的机器出了什么问题?

【问题讨论】:

    标签: python macos hash sha crypt


    【解决方案1】:

    crypt() 在 Mac OS X 上的实现不支持 Linux glibc crypt() 支持的大多数“高级”模式。它只支持“传统crypt()”,这就是你在这里得到的,以及一个“扩展crypt()”模式,它也不兼容Linux实现。

    如果您需要在 Linux 和 Mac OS X 上创建可移植的强密码哈希,则需要使用 crypt() 以外的其他内容。

    【讨论】:

      【解决方案2】:

      问题似乎出在 @dukswuff cmets 的 crypt 实现中。如果有人遇到同样的问题,您可以在此处阅读 python 替代解决方案:https://stackoverflow.com/a/17992126/2208811

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-21
        • 2013-05-20
        • 2022-12-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 2015-11-14
        • 2012-10-14
        相关资源
        最近更新 更多