所以,PHP代码:
$result = hash("whirlpool","xxx".$password."zzz");
爪哇:
import gnu.crypto.Registry;
import gnu.crypto.hash.HashFactory;
import gnu.crypto.hash.IMessageDigest;
public class WhirlpoolHash {
String result;
WhirlpoolHash(String pass) {
String to_encode = "xxx"+pass+"zzz";
IMessageDigest old_encoder = HashFactory.getInstance(Registry.WHIRLPOOL_HASH);
byte[] input = to_encode.getBytes();
old_encoder.update(input, 0, input.length);
byte[] digest = old_encoder.digest();
this.result = gnu.crypto.util.Util.toString(digest).toLowerCase();
}
public String Get() {
return this.result;
}
}
结果变量是不同的。我需要 java 类返回与 php 相同的值。我将密码存储在 PHP 生成的 MySQL DB UTF-8 编码中,需要将其与 JavaFX 应用程序发送的数据进行比较。
当然,我可以发送未加密的密码,并使用 php 进行,但我不想这样做。