Tim
Tim

Reputation: 397

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.

Upvotes: 6

Views: 2942

Answers (1)

Steven Schlansker
Steven Schlansker

Reputation: 38526

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?

Upvotes: 8

Related Questions