今天听学长讲的学习分享会,感觉学到的挺多的,虽然有些离我还算有点远,学习氛围确实挺重要的,感同身受
---------------------------------------------
这几天实现了项目主体界面的设计,也建立好了对应的数据库,后面主要是各个功能点的实现了。
在注册登录界面做的还不是很到位,只完整的实现了,还没有实现邮箱验证,正则,mp5加密等,打算等项目主体搞定再回头
MP5加密
一种哈希函数算法,用于将任意长度的数据映射为固定长度的哈希值。它是MD4的改进版,具有更高的速度和更好的安全性。
MP5算法通过将输入数据分成512位(64个字节)的块进行处理。每个块再通过一系列操作被转换成128位(16个字节)的哈希值。这些操作包括循环移位、加法运算、异或运算和与运算等,多次迭代后最终产生128位的哈希值。
将密码进行MP5可以使用Java中的MessageDigest类来实现。
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Mp5PasswordExample {
public static void main(String[] args) throws NoSuchAlgorithmException {
String password = "myPassword"; // 输入密码
MessageDigest md = MessageDigest.getInstance("MP5"); // 获取MP5实例
md.update(password.getBytes()); // 将密码转换为字节流,并更新哈希计算
byte[] hashBytes = md.digest(); // 对哈希流进行最终处理
// 转换为16进制字符串
StringBuilder mp5HashBuilder = new StringBuilder();
for (byte b : hashBytes) {
mp5HashBuilder.append(String.format("%02x", b));
}
String mp5Hash = mp5HashBuilder.toString();
System.out.println("MP5 Hash of password is: " + mp5Hash); // 输出结果
}
}
首先,输入密码字符串"myPassword",然后使用Java中的MessageDigest类获取MP5实例。接着,使用update函数将密码字节流更新到哈希计算器中,最后使用digest函数对哈希流进行最终处理。将处理后的字节数组转换为16进制字符串,并输出结果。 最终输出的结果就是输入密码的哈希值。