如何在java中为自定义sha256回合重现php Crypt()

问题描述 投票:0回答:1

我有一个PHP脚本存储crypt()结果与自定义舍入10000和一些已经存在的盐。

代码看起来像这样:

echo crypt('rasmuslerdorf', '$5$rounds=10000$usesomesillystringforsalt$');

输出是

$ $ 5轮= 10000 $ usesomesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10

Witch不是hexa中的哈希值,也不是二进制中的哈希值,它似乎是Crypt3输出。

问题是“如何在Java中为相同的输入获取相同的字符串?”

目前测试的所有MessageDigest和SO答案都不起作用,因为它直接打印六进制中的哈希值(比较很多痛苦)。

java hash cryptography
1个回答
0
投票

好的,终于能够找到获得相同输出的方法。

使用Apache Commons Crypt我得到了与盐轮相同的输出和一切。

import org.apache.commons.codec.digest.Crypt;
return Crypt.crypt("rasmuslerdorf", "$5$rounds=10000$usesomesillystringforsalt$");

会得到我的:

$ $ 5轮= 10000 $ usesomesillystri $ CaVZTpnmHfz9Fi6zjGJmSAAwwABsSqSJbtzdlfvVC10

© www.soinside.com 2019 - 2024. All rights reserved.