今天继续学习bbs项目,汤老师讲了会员注册的实现,要对密码进行md5加密,日期型的属性存入数据库前要进行解析,如会员的生日,注册日期等。还有要对用户注册信息进行服务器和客户端验证。下面介绍一下我在学习中遇到的比较重要的知识。
昨天概述了一下md5加密算法,MessageDigest实例对象的digest方法产生数字摘要是一个字节数组,我们应该将这个字节数组转换为16进制的字符串,再存入数据库。具体实现如下:
//获得md5算法的MessageDigest实例对象,
public static String digest(String str){
MessageDigest md = MessageDigest.getInstance("MD5");
//传入要进行数字摘要运算的数据源
md.update(str.getBytes("utf-8"));
//得到数字摘要字节数组
byte[] buf = md.digest();
//得到16进制的字符串
StringBuffer hexString = new StringBuffer();
for (byte b : buf) {
//如果大于00001111,则直接添加其转换后的字符串
if ((b & 0xff) > 0xf) {
hexString.append(Integer.toHexString(0xff & b));
//先添加个“0