对于一个应用程序原型,我正在创建一个简单的用户登录。然后使用sha224对用户的密码进行散列并传输到后端。我现在面临的问题如下。数据库中存储的密码(也使用sha224散列)看起来与我发送的散列稍有不同。我使用以下代码创建散列。
给定密码==测试
蟒蛇
from hashlib import sha224
sha224("test").hexdigest()
安卓
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();
现在要制作的是这样的,我将把这两个散列放在彼此的正下方。(第一个是python,第二个是android)
90A3ED9E32B2AAF4C61C410EB92542619E1A9DC53D4286ADE99A809
90A3ED9E32B2AAF4C61C41EB92542619E1A9DC53D4286ADE99A89
它们几乎相同,但python散列还有20个。你们知道为什么吗?