Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MessageDigest SHA-512与openssl不同_Java_Openssl_Message_Digest_Sha - Fatal编程技术网

Java MessageDigest SHA-512与openssl不同

Java MessageDigest SHA-512与openssl不同,java,openssl,message,digest,sha,Java,Openssl,Message,Digest,Sha,我搞不清楚我做错了什么。我有以下代码: byte[] digest = new byte[0]; MessageDigest md = null; try{ md = MessageDigest.getInstance( "SHA-512" ); } catch( NoSuchAlgorithmException e ) { return digest; } digest = md.digest( myString.getBytes() ); 查看NetBeans调试器中dig

我搞不清楚我做错了什么。我有以下代码:

byte[] digest = new byte[0];
MessageDigest md = null;
try{
    md = MessageDigest.getInstance( "SHA-512" );
}
catch( NoSuchAlgorithmException e ) {
    return digest;
}
digest = md.digest( myString.getBytes() );
查看NetBeans调试器中digest byte[]的十六进制值,它显示了与以下内容不同的输出:

echo "myString" | openssl dgst -sha512
我猜这是一个字符编码问题,但是JVM和openssl不使用机器的默认字符集吗


非常感谢您的帮助。

echo
在末尾添加一个换行符-

[steven@emu:~]% echo "myString" | hexdump -C
00000000  6d 79 53 74 72 69 6e 67  0a                       |myString.|

试试
echo-n

字符编码对于
“myString”
来说不应该是个问题,因为这是纯ASCII码。但是您可能需要检查
myString.getBytes()的返回值以确保正确。就是这样!你是一个猛击忍者!谢谢你。那以前也让我绊倒了!