gpt4 book ai didi

cryptography - 如何在erlang中获取sha256散列字符串?

转载 作者:行者123 更新时间:2023-12-01 07:36:35 24 4
gpt4 key购买 nike

我正在尝试通过 erlang 中的 sha256 加密字符串,但我无法取回字符串。 crypto:hash(sha256, somestring) 给出了一些二进制文件,我怎样才能得到字符串?

最佳答案

二进制必须解码为整数,然后以十六进制形式打印:

1> io_lib:format("~64.16.0b", [binary:decode_unsigned(crypto:hash(sha256,
"somenewstring"))]).
"abf8a5e4f99c89cabb25b4bfde8a1db5478da09bcbf4f1d9cdf90b7b5321e43c"
binary:decode_unsigned/1将整个二进制解码为一个大的大端无符号整数。另一种方法是将二进制模式匹配为整数:
2> <<Integer:256>> = crypto:hash(sha256, "somenewstring").
<<171,248,165,228,249,156,137,202,187,37,180,191,222,138,
29,181,71,141,160,155,203,244,241,217,205,249,11,123,83,
...>>
3> Integer.
77784820141105809005227607825327585337759244421257967593474620236757179950140
4> io_lib:format("~64.16.0b", [Integer]).
"abf8a5e4f99c89cabb25b4bfde8a1db5478da09bcbf4f1d9cdf90b7b5321e43c"
(注意 <<Integer:256>> 等价于 <<Integer:256/big-unsigned-integer>> 因为它们是默认标志)。

关于cryptography - 如何在erlang中获取sha256散列字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32475699/

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