Encryption 我已经做了一个加密密码的函数,我怎样才能将其反转,以便在加密后获得真正的密码
这是我的加密代码,我需要反转此函数:Encryption 我已经做了一个加密密码的函数,我怎样才能将其反转,以便在加密后获得真正的密码,encryption,Encryption,这是我的加密代码,我需要反转此函数: public String encryptPassword(String input) { String encPass = null; if (input == null) return null; try { MessageDigest digest = MessageDigest.getInstance("MD5"); digest.update(input.getBytes(), 0, inp
public String encryptPassword(String input) {
String encPass = null;
if (input == null) return null;
try {
MessageDigest digest = MessageDigest.getInstance("MD5");
digest.update(input.getBytes(), 0, input.length());
encPass = new BigInteger(1, digest.digest()).toString(16);
} catch (Exception e) {
e.printStackTrace();
}
return encPass;
}
MD5哈希算法是不可逆的,因此MD5无法在中解密。一些网站可能会提供解密,但它们是肮脏的黑客,因为它们存储并匹配大量密码的MD5加密。MD5哈希算法是不可逆的,因此MD5不可能进行解密。有些网站可能提供解密,但它们是肮脏的黑客,因为它们存储并匹配大量密码的MD5加密。您对密码进行了哈希处理,而不是加密。哈希被设计为不可逆的,因此您将无法从哈希中恢复原始密码。您要做的是获取用户输入的密码和MD5哈希值,然后比较哈希值。如果它们匹配,则用户输入了正确的密码。如果它们不匹配,则用户输入了错误的密码
在散列密码以获得额外的安全性之前,您可能还需要查看。尽管这意味着您必须为每个用户存储salt以及他们的哈希密码。您已经对密码进行了哈希,而不是加密。哈希被设计为不可逆的,因此您将无法从哈希中恢复原始密码。您要做的是获取用户输入的密码和MD5哈希值,然后比较哈希值。如果它们匹配,则用户输入了正确的密码。如果它们不匹配,则用户输入了错误的密码
在散列密码以获得额外的安全性之前,您可能还需要查看。尽管这意味着您必须为每个用户存储salt以及他们的哈希密码。MD5不是一个适合密码的哈希算法-它容易受到暴力攻击。考虑BCREPT。M5不是一个适合密码的散列算法-它容易受到蛮力攻击。考虑一下BCRIPT。值得注意的是,MD5无论如何都不适合密码——它太快了。值得注意的是MD5无论如何都不适合密码——它太快了。