谁有struts2 项目 注册用户时的 MD5加密代码示例 action 和jsp页面的写法
解决方案 »
- JDBC+Servlet 完成人力资源管理系统
- 有关注册表中的信息--求助
- java项目打包发布时还要设置环境变量吗?
- Struts2的input问题
- Struts 1.3中DynaActionForm的转型问题
- 内功明显不够!!各位来谈谈 (散分)
- 求 聊天室 程序
- 同学需要关于j2ee方面的英文文章(2w字左右)进行翻译(毕业设计前的工作),请大家推荐一些site,谢谢!!
- 高手 高分请教 (300分) (解决另外开贴给分)
- S2SH框架DAO继承HibernateDaoSupport出现Cannot override the final method from Hibernate
- 动态代理工厂类
- Annotation进行声明式事务管理不能获得session,麻烦了
跟一般的用户注册没什么区别 就是存入数据库的时候用MD5加密
public final static String MD5(String s) {
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f' };
try {
byte[] strTemp = s.getBytes();
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);
byte[] md = mdTemp.digest();
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
} catch (Exception e) {
return null;
}
}
import java.security.MessageDigest;import sun.misc.BASE64Encoder;public class MessageDigestUtil {
public static String digestByMD5(String str) throws Exception{
//采用MD5加密算法,将任意长度字符串加密
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bts = md.digest(str.getBytes());
//采用Base64算法,将加密后的字节变成字符串
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(bts);
}
public static void main(String[] args) throws Exception{
System.out.println(digestByMD5("abc"));
System.out.println(digestByMD5("1231233223"));
System.out.println(digestByMD5("a"));
}
}直接把前台获得的密码在保存的时候调用一下就行比如
// 密码加密
String pwd = MessageDigestUtil.digestByMD5(password);
user.setPassword(pwd);
XXXService.save(user);
insert into user(name,password) values('zhangsan',MD5('123456'));
package com.cissst.dsan.common;import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class MD5 {
// MD5加密算法,对密码进行加密
public static String MD5Password(String oldstr) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f' }; byte[] oldbytes = oldstr.getBytes();
try {
MessageDigest md = MessageDigest.getInstance("MD5");// 获取对象
md.update(oldbytes);// 初始化对象
byte[] newBytes = md.digest();// 运行加密算法
char[] newStr = new char[32];
for (int i = 0; i < 16; i++) {
byte temp = newBytes[i];
newStr[2 * i] = hexDigits[temp >>> 4 & 0xf];
newStr[2 * i + 1] = hexDigits[temp & 0xf]; }
return new String(newStr);
} catch (NoSuchAlgorithmException e) {
return null;
} }
public static void main(String[] args){
System.out.print(MD5Password("123456"));
if(MD5Password("123456").equals(MD5Password("123456"))){
System.out.println("相等");
}
}
}