gpt4 book ai didi

java - 如何在java中实现php的crypt_md5

转载 作者:搜寻专家 更新时间:2023-10-31 22:16:06 24 4
gpt4 key购买 nike

我有一个简单的 PHP 应用程序,它使用以下代码对密码进行哈希处理并将其存储在数据库中。

<?php
$user_name = "admin";
$password = "1234";
$salt = substr($user_name, 0, 2);
$salt = '$1$' . $salt . '$'; //$salt = $1$ad$
$crypt_password = crypt($password, $salt);
echo $crypt_password;
?>

此代码生成以下密码以存储在数据库中:$1$ad$BH3wnQs1wym28vdzP8zyh1

我想用 Java 编写完全相同的代码,但由于我是 Java 的新手,我遇到了很多困难。我查过这里http://www.java2s.com/Open-Source/Java-Document/Groupware/LibreSource/md5/MD5Crypt.java.htm#cryptStringString似乎这就是我所需要的,但我没能让它发挥作用。任何帮助,将不胜感激。提前谢谢你。

最佳答案

如果 md5 适合你,你可以试试下面的代码:

    String pass = "1234";
MessageDigest crypt = null;

try {
crypt = java.security.MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
System.out.println("MD5 not supported");
return; // depends on your method
}

byte[] digested = crypt.digest(pass.getBytes());
String crypt_password = new String();

// Converts bytes to string
for (byte b : digested)
crypt_password += Integer.toHexString(0xFF & b);

System.out.println(crypt_password);

此外,您可以将“MD5”更改为“SHA1”,应该也可以。

关于java - 如何在java中实现php的crypt_md5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6084734/

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