Для прототипа приложения я создаю простой логин пользователя. После этого пароль пользователя будет хеширован с помощью sha224 и передан на сервер. Проблема, с которой я сталкиваюсь сейчас, заключается в следующем. Пароль, который был сохранен в БД (также хэшированный с помощью sha224), выглядит немного иначе, чем хеш, который я посылаю. Я использую следующий код для создания хэшей.
данный пароль == тест
Python
from hashlib import sha224
sha224("test").hexdigest()
Android
MessageDigest sha224 = MessageDigest.getInstance("SHA-224");
sha224.update(key.getBytes());
byte[] digest = sha224.digest();
StringBuffer buffer = new StringBuffer();
for(int i = 0; i < digest.length; i++) {
buffer.append(String.valueOf(Integer.toHexString(0xFF & digest[i])));
}
return buffer.toString();
То, что сейчас будет создано, выглядит следующим образом, и я выложу два хеша непосредственно друг под другом. (Первый это питон а второй андроид)
90a3ed9e32b2aaf4c61c410eb925426119e1a9dc53d4286ade99a809
90a3ed9e32b2aaf4c61c41eb925426119e1a9dc53d4286ade99a89
Они почти одинаковы, но хэш питона имеет еще два 0. Ребята, вы понимаете, почему?