【问题标题】:Salting password盐渍密码
【发布时间】:2014-10-31 12:31:09
【问题描述】:

我正在尝试使用 salt 来散列我的密码。但是,命令提示符(使用 Python) 仅截断为 8 个密码字符和 2 个盐字符。如何缓解这个问题?

例如,

python -c "import crypt; print crypt.crypt('password', '\$6\$123456789012345678901234567890')"

python -c "import crypt; print crypt.crypt('password', '\$6\$12')"

输出相同的哈希值。

***编辑

例如,

 >>> import crypt

 >>> crypt.crypt('password', '$6$1234')
 '$6FMi11BJFsAc'
 >>> crypt.crypt('password', '$6$12345678')
 '$6FMi11BJFsAc'
 >>> crypt.crypt('passwordddd', '$6$1234')
 '$6FMi11BJFsAc'

【问题讨论】:

  • 您能粘贴这些命令的完整输出吗?
  • 您是否尝试过使用与 $ 不同的字符来加盐,以防万一它保持是一个 shell 元字符?
  • 我粘贴了完整的输出。

标签: python hash passwords salt


【解决方案1】:

您拥有的版本似乎可以工作。我不确定你的问题是什么。可能是您的 shell 将 $ 扩展为变量 $12(这可能和 $1234567890 一样为空,这将导致两者具有相同的哈希值)。

你的版本似乎在我的 shell 中为我工作。

$ python -c "import crypt; print crypt.crypt('password', '\$6\$123456789012345678901234567890')"
$6$1234567890123456$YfUD.j5zIFtfV6VgikPof2dzCCCZwL2YDraBX4HXi.J7iNq24667epYUCZGxExqOmHTnPWybzfYaynT29vKXJ/

$ python -c "import crypt; print crypt.crypt('password', '\$6\$12')"
$6$12$EmCj0n6cuRQPJkS9i8q9F9JzlbErFPXFeUH7zwAT1yfBuwP7L60bNzWNvizJifxL6Dsd2mLIOFfcHyCbRoYSd0

用python(或ipython)测试是最清楚的:

In [1]: import crypt

In [2]: crypt.crypt('password', '$6$1234')
Out[2]: '$6$1234$uFHFs4h9DJ5rE/WaDk5aY3NJnYNKmONANVjomZwpeX8nQNvB./mwRpxs.n1S2nemH.cUtLYJWSbk/cQQ4Hd2N0'

In [3]: crypt.crypt('password', '$6$12345678')
Out[3]: '$6$12345678$I8tr4xFAC6/TtjYWdp0LWEjQre2LcYm2jdSMNLQDIyqRv.cKo7KMD5/HpzVVFKpUQlIekr/Vw.OdImtRM85fg/'

或者从 linux 命令行:

$ python -c 'import crypt; print crypt.crypt("password", "$6$12345678")'
$6$12345678$I8tr4xFAC6/TtjYWdp0LWEjQre2LcYm2jdSMNLQDIyqRv.cKo7KMD5/HpzVVFKpUQlIekr/Vw.OdImtRM85fg/

$ python -c 'import crypt; print crypt.crypt("password", "$6$12")'
$6$12$EmCj0n6cuRQPJkS9i8q9F9JzlbErFPXFeUH7zwAT1yfBuwP7L60bNzWNvizJifxL6Dsd2mLIOFfcHyCbRoYSd0

【讨论】:

  • >>> import crypt >>> crypt.crypt('password', '$6$1234') '$6FMi11BJFsAc' >>> crypt.crypt('password', '$6$12345678') ' $6FMi11BJFsAc' >>>
猜你喜欢
  • 2011-04-03
  • 2011-08-07
  • 2016-07-28
  • 2021-10-02
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多