MD5 :(Message Digest Algorithm)是一种不可逆的加密算法,什么意思呢:
举个例子:
网站一般会保存用户密码:
为了不让数据库管理员看到用户的密码。
比如你输入的密码明明是这样的:123456
网站加密后的密码可能是这样的:E10ADC3949BA59ABBE56E057F20F883E (鬼都看不懂)
由于MD5数据是不可逆向的,所有数据库管理员也不知道你输入的是啥。
那么服务器如何验证你的密码呢?
其实很简单,他会将你输入的密码 通过 MD5 加密后,然后用加密后的那一串字符拿去比对,如果一样,就说明 密码正确。
javaWeb 如何使用MD5 加密:
下面是一个 防止用户重复提交的一段代码。
public String getToken() {
String temp = String.valueOf(System.currentTimeMillis()+new Random().nextInt());
MessageDigest md;
try {
md = MessageDigest.getInstance("md5");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
byte[] md5 = md.digest(temp.getBytes());
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(md5);
}