- Регистрация
- 22.04.2014
- Сообщения
- 36
- Благодарностей
- 3
- Баллы
- 8
У меня есть метод хэширования в Java и C#
Вопрос такой. Это одинаковые методы?
Если нет, то помогите сделать такой же хэш на C#.
Сервис под который я делаю это хэширование предоставляет код в Java.
А мне нужно сделать на C#
У меня есть подозрение, что MD5 написанный в Java отличается от моего...
Так как у них есть пример который мы хэшируем и мой хэш на С# отличается от их хэша на Java.
Java
C#
Вопрос такой. Это одинаковые методы?
Если нет, то помогите сделать такой же хэш на C#.
Сервис под который я делаю это хэширование предоставляет код в Java.
А мне нужно сделать на C#
У меня есть подозрение, что MD5 написанный в Java отличается от моего...
Так как у них есть пример который мы хэшируем и мой хэш на С# отличается от их хэша на Java.
Java
Код:
try {
//MD5
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes());
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for(int i = 0; i < byteArray.length; ++i) {
if (Integer.toHexString(255 & byteArray[i]).length() == 1) {
md5StrBuff.append("0").append(Integer.toHexString(255 & byteArray[i]));
} else {
md5StrBuff.append(Integer.toHexString(255 & byteArray[i]));
}
}
Код:
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(project.Variables["dannie"].Value);
byte[] hash = md5.ComputeHash(inputBytes);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("x2"));
}
return sb.ToString();