我需要一个可以采用以下值的shell命令或shellscript
dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11
然后生成它的SHA-1哈希值,即
0xb3 0x7a 0x4f 0x2c 0xc0 0x62 0x4f 0x16 0x90 0xf6
0x46 0x06 0xcf 0x38 0x59 0x45 0xb2 0xbe 0xc4 0xea
并使用Base64对此值进行编码,结果如
s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
我可以使用以下代码
在Java中轻松完成此操作String key = "dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
MessageDigest md = MessageDigest.getInstance("SHA-1");
//s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
System.out.println(Base64.encodeBase64String(md.digest(key.getBytes())));
到目前为止,我已经尝试了
echo -n "dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" | openssl sha1 -binary | base64
以防万一
echo -n "dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" | openssl dgst -sha1 | base64
但他们都打印出错误的价值观。
请给我一些建议或帮助我解决这个问题。
提前致谢。