0 erlang cryptography elixir erlang-otp sha256
当我“sha256”时,Erlang 返回的结果与 bash 命令不同。
echo a | sha256sum, returns: 87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7 -
Run Code Online (Sandbox Code Playgroud)
埃尔兰
Bin = crypto:hash(sha256, "a").
<<202,151,129,18,202,27,189,202,250,194,49,179,154,35,220,
77,167,134,239,248,20,124,78,114,185,128,119,133,175,
238,72,187>>
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的二进制到十六进制, 但没有一个给出我期望的结果。
我得到这个结果:
bin_to_hex:bin_to_hex(Bin).
<<"CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB">>
Run Code Online (Sandbox Code Playgroud)
您的echo a
将包括一个换行符。当我向 erlang 版本添加换行符时,我得到了预期的哈希值:
1> Bin = crypto:hash(sha256, "a\n").
<<135,66,143,197,34,128,61,49,6,94,123,206,60,240,63,228,
117,9,102,49,229,224,123,189,122,15,222,96,196,...>>
2> binary:encode_hex(Bin).
<<"87428FC522803D31065E7BCE3CF03FE475096631E5E07BBD7A0FDE60C4CF25C7">>
Run Code Online (Sandbox Code Playgroud)
您还可以告诉echo
不要使用换行符-n
:
$ echo -n a | sha256sum
ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb -
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
202 次 |
最近记录: |