我有一个PHP脚本存储crypt()
结果与自定义舍入10000和一些已经存在的盐。
代码看起来像这样:
echo crypt('rasmuslerdorf', '$5$rounds=10000$usesomesillystringforsalt$');
输出是
$ $ 5轮= 10000 $ usesomesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10
Witch不是hexa中的哈希值,也不是二进制中的哈希值,它似乎是Crypt3输出。
问题是“如何在Java中为相同的输入获取相同的字符串?”
目前测试的所有MessageDigest
和SO答案都不起作用,因为它直接打印六进制中的哈希值(比较很多痛苦)。
好的,终于能够找到获得相同输出的方法。
使用Apache Commons Crypt
我得到了与盐轮相同的输出和一切。
import org.apache.commons.codec.digest.Crypt;
return Crypt.crypt("rasmuslerdorf", "$5$rounds=10000$usesomesillystringforsalt$");
会得到我的:
$ $ 5轮= 10000 $ usesomesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10