gpt4 book ai didi

python - Erlang 512 哈希与 python 512 哈希不匹配

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:54 25 4
gpt4 key购买 nike

我正在尝试在 Erlang 中复制以下 python 代码:

python -c "import random,string,crypt;
print crypt.crypt('example', '\$6\$5H0QpwprRiJQR19Y\$')"

OUTPUT: $6$5H0QpwprRiJQR19Y$B8EBtKxKU4Poxi.qLsL/t7uoriHX/cdnn9kT7kTsUIvwKPR6oJLOl8NAH8vPT.BNPdEY7a4.rz8YhziecWQ6I/

来自在线阅读:

  • $6$ 表示这是一个 512 哈希
  • '5H0QpwprRiJQR19Y' 是散列的盐
  • 在上面的代码中,密码是'example'

我当前的 erlang 代码如下:


crypto:hash(sha512, "example5H0QpwprRiJQR19Y")

产生:

<<167,181,70,20,213,141,24,28,86,204,170,121,182,75,217,3,51,222,3,209,44,43,34,243,130,214,247,156,149,150,162,81,200,207,103,85,60,202,37,189,30,25,128,221,61,79,146,86,225,126,35,85,4,161,156,152,8,6,90,17,207,229,235,241>>

我试过操纵返回值,但无法使它们匹配。

最佳答案

我在 Erlang 中找不到 crypt 的实现,只有包装器,例如 this one .一般来说,像 C 这样的低级语言比像 Erlang 这样的高级语言更擅长重复散列的任务。所以使用它可以保证兼容性,并且比自己实现它更快。

如果您想自己实现它,那么您可以使用规范 here .请注意,这是最难理解和实现的密码哈希之一,因此这可能不适合外行。您最好从另一种语言中获取现有代码并进行翻译。

关于python - Erlang 512 哈希与 python 512 哈希不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58124196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com