繁体   English   中英

在python和java中使用argon2的不同长度的哈希密码

[英]Different length of hashed password using argon2 in python and java

不知道这是否是正确的输出,但是当我用java中的arg散列密码时,我得到了输出:

$argon2i$v=19$m=512,t=2,p=2$J1w6n04CBSEA8p0cCqeK7A$tb1ihqduhONYZN0+ldKkw980Y7h7ZJ2OcDTsXyIMibo

而python给我:

argon2$argon2i$v=19$m=512,t=2,p=2$TjZiM3ZTdGFIQUlZ$CocCpAIXQc722ndqkFZWxw

参数似乎相同:i,512、2,p = 2

有谁能告诉我如何获得相同长度的arg2大师? 最好使用Java,因为它是简单的usdd应用程序。

在字符串中p=2之后,有一个美元符号。 这个美元符号和下一个美元符号之间的字符串是哈希值。 在第二个美元符号之后是Argon2派生的实际密钥。 在Java示例中(在对base64进行解码之后) ,哈希长度为32 但是,在Python中,哈希长度为16 (这是Python中的默认值)。 因此,在Python中,如果您这样做:

import argon2

argon2.hash_password(b"Password",memory_cost=512,time_cost=2,parallelism=2,hash_len=32)

然后,您将具有与Java示例中相同的长度哈希。 另外,如果您为Python和Java实现指定了相同的符号,则哈希值应彼此相同(假设两者之间的参数相同)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM