密码加密
Password encryption
我用这个密码加密密码
public static byte[] encrypt(String password) {
try {
BASE64Encoder be = new BASE64Encoder();
MessageDigest md = MessageDigest.getInstance("sha-512");
md.update(password.getBytes());
return md.digest();
} catch (NoSuchAlgorithmException e) {
}
return null;
}
如果我使用这段代码来比较密码,它会完美地工作
if (encrypt(passwordField.getText()).compareTo(encrypt("password")) == 0 )
system.out.print("true")
else *false
我想隐藏我的密码,所以我使用 System.out.println(encrypt("Password"))
的控制台结果进行比较,所以我的代码看起来像这样
if (encrypt(passwordField.getText()).compareTo("5sg7KCrrLgIoRFlXIcwAu9pHyyRTfBd5+buE8EA54Wdua6hXPliNoQUlEOOqCjKp5Vh5riKwwtYh/n"+
"NvwKPoX4uw==") == 0 )
system.out.print("true")
else *false
它总是输出 false 。我不明白为什么。
感谢您的宝贵时间
您应该阅读有关散列的内容...
在散列中,如果您尝试对字符串进行编码,请说 "hello" 每次您都会得到不同的输出,尽管您正在对相同的字符串进行编码...
试试看..
for(i=1;i<10;i++)
System.out.println(encrypt("password"));
您将获得 9 个差异结果..但它们仍然具有可比性
我用这个密码加密密码
public static byte[] encrypt(String password) {
try {
BASE64Encoder be = new BASE64Encoder();
MessageDigest md = MessageDigest.getInstance("sha-512");
md.update(password.getBytes());
return md.digest();
} catch (NoSuchAlgorithmException e) {
}
return null;
}
如果我使用这段代码来比较密码,它会完美地工作
if (encrypt(passwordField.getText()).compareTo(encrypt("password")) == 0 )
system.out.print("true")
else *false
我想隐藏我的密码,所以我使用 System.out.println(encrypt("Password"))
的控制台结果进行比较,所以我的代码看起来像这样
if (encrypt(passwordField.getText()).compareTo("5sg7KCrrLgIoRFlXIcwAu9pHyyRTfBd5+buE8EA54Wdua6hXPliNoQUlEOOqCjKp5Vh5riKwwtYh/n"+
"NvwKPoX4uw==") == 0 )
system.out.print("true")
else *false
它总是输出 false 。我不明白为什么。 感谢您的宝贵时间
您应该阅读有关散列的内容...
在散列中,如果您尝试对字符串进行编码,请说 "hello" 每次您都会得到不同的输出,尽管您正在对相同的字符串进行编码...
试试看..
for(i=1;i<10;i++)
System.out.println(encrypt("password"));
您将获得 9 个差异结果..但它们仍然具有可比性