gpt4 book ai didi

java - 在Java中解密保存的加密用户名

转载 作者:行者123 更新时间:2023-12-01 14:35:41 25 4
gpt4 key购买 nike

为了保存用户名和密码,我先对它们进行加密,然后再保存。当用户再次登录时,我需要显示用户名。我不知道解密用户名有多难。这是我用于加密的算法

public static String getEncryptedValue(String str) {
String password = str;
String algorithm = "SHA";
byte[] plainText = password.getBytes();
try {
md = MessageDigest.getInstance(algorithm);
} catch (Exception e) {
e.printStackTrace();
}

md.reset();
md.update(plainText);
byte[] encodedPassword = md.digest();

StringBuilder sb = new StringBuilder();
for (int i = 0; i < encodedPassword.length; i++) {
if ((encodedPassword[i] & 0xff) < 0x10) {
sb.append("0");
}

sb.append(Long.toString(encodedPassword[i] & 0xff, 16));
}

return sb.toString();
}


加密用户名和电子邮件也是一种好习惯吗?

最佳答案

您实际上并不是在加密数据。您正在使用SHA摘要对字符串进行哈希处理。此操作是不可逆的。您无法取回原始数据。

哈希密码是一种非常好的做法,全世界所有应用程序都使用该密码。您不需要实际取回密码,只需要对照存储的密码检查用户输入的密码。为此,您可以将哈希应用于输入的字符串,并将其与存储的哈希进行比较。

散列用户名和电子邮件不是一种有用的方法,因为那样便无法找回它们!但是,您可以加密用户名和电子邮件,并在需要时将其解密。为此,您可以使用任何有效的加密/解密算法。

关于java - 在Java中解密保存的加密用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16509037/

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