MD5加密整理

来源:互联网 发布:php curl 伪装 编辑:程序博客网 时间:2024/05/22 10:32
用户名和密码的MD5加密整理。项目中遇到了要求加密,从网上找了些文章,整理了一下,备用。 js加密(转)http://download1.csdn.net/down3/20070604/04115829609.rarjava:import java.security.MessageDigest;public class MD5Test {    public final static String md5(String s) {        String strOutput = new String("");        try {            byte[] strtemp = s.getBytes();            MessageDigest mdtemp = MessageDigest.getInstance("MD5");            mdtemp.update(strtemp);            byte[] md = mdtemp.digest();            int length = md.length;            for (int i = 0; i < length; i++) {                //大小写得到的结果要用equalsIngnoreCase比较为true.//                char[] digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8',//                        '9', 'a', 'b', 'c', 'd', 'e', 'f' };                char[] digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8',                        '9', 'A', 'B', 'C', 'D', 'E', 'F' };                char[] ob = new char[2];                ob[0] = digit[(md[i] >>> 4) & 0X0F];                ob[1] = digit[md[i] & 0X0F];                strOutput += new String(ob);            }            return strOutput;        } catch (Exception e) {            return null;        }    }    public static void main(String[] args) {        System.out.print(MD5Test.md5("a"));    }}/* * 检验你的实现是否正确:  * MD5 ("") = d41d8cd98f00b204e9800998ecf8427e  * MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661  * MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72  * MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0  * MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b */用户登陆时,先在服务器端产生一段随机字母或数字,发送到客户端,与密码拼接在一起后使用js的MD5加密,将得到的摘要发送到服务器,服务器从数据库中取得该用户对应的密码,并将刚才发送的随机字母和数字与密码拼接,之后使用java的MD5加密,将得到的摘要和请求中的密码摘要比较是否相同.随机数字或字母的作用,确保每次生成的摘要都不相同,蓄意破坏者无法使用截取的摘要进行登陆.摘要+sessionIdMD5加密生成摘要,不可逆,同一段代码使用MD5加密得到摘要相同.
原创粉丝点击