Crypto
Вопрос по шифрованию. Шифруя (а точнее вопрос про SHA суммы, но возможно продолжится про шифрование) одинаково (мне по крайней мере так кажется :)) в java и VB .NET получаются разные результаты. Код под катом.
В VB .NET:
Dim SecretPhrase As String()
SecretPhrase = "something"
Dim bytePhrase As Byte()
bytePhrase = Encoding.Unicode.GetBytes(SecretPhrase)
Dim SHA512 As SHA512Managed = New SHA512Managed
SHA512.ComputeHash(bytePhrase)
Dim result As Byte() = SHA512.Hash
Соответственно в java:
String SecretPhrase = "something";
MessageDigest sha = null;
byte[] bytePhrase = null;
try {
sha = MessageDigest.getInstance("SHA-512");
bytePhrase = (SecretPhrase.getBytes("Unicode"));
}
catch (Exception ex) { ex.printStackTrace();}
byte result[] = sha.digest(bytePhrase);
В результате в result содержаться разные данные. Не знаю чего там такое, но вроде бы много чего перечитал, так и не пойму в чём дело :(
UPD: resolved
В VB .NET:
Dim SecretPhrase As String()
SecretPhrase = "something"
Dim bytePhrase As Byte()
bytePhrase = Encoding.Unicode.GetBytes(SecretPhrase)
Dim SHA512 As SHA512Managed = New SHA512Managed
SHA512.ComputeHash(bytePhrase)
Dim result As Byte() = SHA512.Hash
Соответственно в java:
String SecretPhrase = "something";
MessageDigest sha = null;
byte[] bytePhrase = null;
try {
sha = MessageDigest.getInstance("SHA-512");
bytePhrase = (SecretPhrase.getBytes("Unicode"));
}
catch (Exception ex) { ex.printStackTrace();}
byte result[] = sha.digest(bytePhrase);
В результате в result содержаться разные данные. Не знаю чего там такое, но вроде бы много чего перечитал, так и не пойму в чём дело :(
UPD: resolved
