我有一个php脚本,用于存储crypt()
的结果,自定义结果将10000舍入并加一些已经存在的盐。
代码如下:
echo crypt('rasmuslerdorf', '$5$rounds=10000$usesomesillystringforsalt$');
输出为
$ 5 $ rounds = 10000 $ usesomesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10
Witch既不是十六进制也不是二进制的哈希,它似乎是Crypt3的输出。
问题是“如何在Java中为相同的输入获取相同的字符串?”
目前,所有测试过的MessageDigest
和SO答案都无法使用,因为它直接以六进制打印哈希值(也比较麻烦)。
答案 0 :(得分:0)
好吧,终于能够找到一种获得相同输出的方法。
使用Apache Commons Crypt
,我得到了与salt round和其他所有内容相同的输出。
import org.apache.commons.codec.digest.Crypt;
return Crypt.crypt("rasmuslerdorf", "$5$rounds=10000$usesomesillystringforsalt$");
请给我我的:
$ 5 $ rounds = 10000 $ usesomesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10