So right now, my Java code is creating a different SHA-256 hash than our Perl code, but only when UTF8 characters come into play. I did some debugging and found the byte[] representation of the name Jörg is as follows in the languages:
Java 74, -61, -74, 114, 103
Perl 74, 195, 182, 114, 103
Could be causing the difference in the hashes? It appears Java uses signed bytes, while Perl uses unsigned. Further information if needed/requested!
Thanks!
So the issue turned out to be that in Java, when I was reversing the String it was reversing the characters (as expected). In Perl, reverse actually works on the bytes. This means that Jörg when reversed looked like this in the languages:
Java 103 114 -61 -74 74
Perl 103 114 195 182 74
Hope this helps somebody else out!