Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MessageDigest SHA-512 different than openssl

I can't figure out what I'm doing wrong here. I have the following code:

byte[] digest = new byte[0];
MessageDigest md = null;
try{
    md = MessageDigest.getInstance( "SHA-512" );
}
catch( NoSuchAlgorithmException e ) {
    return digest;
}
digest = md.digest( myString.getBytes() );

Looking at the hex values of digest byte[] in the NetBeans debugger, it shows something different than the output of:

echo "myString" | openssl dgst -sha512

I'm guessing it's a character encoding issue, but doesn't the JVM and openssl use the default character set for the machine?

Any help is appreciated.

like image 554
Tim Avatar asked Jun 26 '10 18:06

Tim


1 Answers

echo appends a newline at the end -

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

Try echo -n?

like image 152
Steven Schlansker Avatar answered Oct 13 '22 16:10

Steven Schlansker