将字符串转换为 SHA1 和 base64
Convert string to SHA1 and to base64
我在转换字符串时遇到问题,假设:"TestPassword" 到 SHA1 和 base64。
一般根据该站点:
http://www.online-convert.com/result/1f76972748a7d186198171e9a11e9493
我应该得到上面密码的以下结果:
hex: 6250625b226df62870ae23af8d3fac0760d71588
HEX: 6250625B226DF62870AE23AF8D3FAC0760D71588
h:e:x: 62:50:62:5b:22:6d:f6:28:70:ae:23:af:8d:3f:ac:07:60:d7:15:88
base64: YlBiWyJt9ihwriOvjT+sB2DXFYg= <-- That is what I would like to achieve ...
将字符串转换为 SHA1 没有问题,但我不知道如何将其再次转换为 base64,因为需要将每两个字符视为一个十六进制字节,然后将其传递给 base64 函数。
有人可以解释一下或粘贴代码片段吗?
谢谢!
应该对 SHA1 摘要的原始二进制版本执行 Base64 编码,而不是对其进行十六进制编码。
您可以通过为 sha1()
函数的 $raw_output
参数传递 true
来获取原始版本:
$base64 = base64_encode(sha1("TestPassword", true));
我认为这是一个迟到的回应,但我通过使用原始 md5 然后将其转换为 base64 获得了准确的值:
$base64 = base64_encode(hash("md5", "myPassword", true));
你好,请 运行 在终端中执行此命令,
echo 6250625B226DF62870AE23AF8D3FAC0760D71588 | xxd -r -p | openssl base64
我在转换字符串时遇到问题,假设:"TestPassword" 到 SHA1 和 base64。
一般根据该站点: http://www.online-convert.com/result/1f76972748a7d186198171e9a11e9493
我应该得到上面密码的以下结果:
hex: 6250625b226df62870ae23af8d3fac0760d71588
HEX: 6250625B226DF62870AE23AF8D3FAC0760D71588
h:e:x: 62:50:62:5b:22:6d:f6:28:70:ae:23:af:8d:3f:ac:07:60:d7:15:88
base64: YlBiWyJt9ihwriOvjT+sB2DXFYg= <-- That is what I would like to achieve ...
将字符串转换为 SHA1 没有问题,但我不知道如何将其再次转换为 base64,因为需要将每两个字符视为一个十六进制字节,然后将其传递给 base64 函数。
有人可以解释一下或粘贴代码片段吗?
谢谢!
应该对 SHA1 摘要的原始二进制版本执行 Base64 编码,而不是对其进行十六进制编码。
您可以通过为 sha1()
函数的 $raw_output
参数传递 true
来获取原始版本:
$base64 = base64_encode(sha1("TestPassword", true));
我认为这是一个迟到的回应,但我通过使用原始 md5 然后将其转换为 base64 获得了准确的值:
$base64 = base64_encode(hash("md5", "myPassword", true));
你好,请 运行 在终端中执行此命令,
echo 6250625B226DF62870AE23AF8D3FAC0760D71588 | xxd -r -p | openssl base64