gpt4 book ai didi

java - php 中的 SHA1 加密和 SHA1 到十六进制

转载 作者:行者123 更新时间:2023-11-30 06:11:34 25 4
gpt4 key购买 nike

我在 Java 中有两个方法,我想在 php 中执行相同的方法。我对 php 完全一无所知。我该怎么做?

方法一:

public static String encyptPassword (String in) throws UnsupportedEncodingException, NoSuchAlgorithmException{
byte[] bytes=in.getBytes("UTF-8");
MessageDigest md=MessageDigest.getInstance(MGF1ParameterSpec.SHA1.getDigestAlgorithm());
md.update(bytes);
byte[] digest=md.digest();
return toHex(digest);
}

方法二:

public static String toHex(byte[] bytes) {
BigInteger bi = new BigInteger(1, bytes);
return String.format("%0" + (bytes.length << 1) + "x", bi);
}

php 中的方法(函数?)必须与 java 中的结果相同,因为它是用于工作和在线登录系统的散列密码。

我尝试了大约 3 个小时,但我做不到或找到了解决方案。我想我阅读了 Stack 上的所有帖子。你能帮助我吗?谢谢。

最佳答案

PHP Fiddle - 点击运行查看结果

<?php

$pass = 'MySecretP@55';
$hashed = hash("SHA512", $pass);
echo $hashed;
echo '<hr>' . bin2hex($hashed);

?>

上面是sha512,肯定比sha1好,bcrypt成本比较高被认为是目前最好的

关于java - php 中的 SHA1 加密和 SHA1 到十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33948873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com