黑马程序员技术交流社区

标题: MD5算法 [打印本页]

作者: Ruby    时间: 2015-7-8 02:08
标题: MD5算法

一、把密码转成byte数组

二、把每一个byte与0xff(11111111)进行与运算

三、把运算结果转成16进制

四、如果转换的16进制长度为1则补0





public static String encryption(String password)

            throws NoSuchAlgorithmException {

       //创建信息摘要算法

        MessageDigest digest = MessageDigest.getInstance("md5");

        StringBuffer buffer=new StringBuffer();

       //把密码转换成byte数组

        byte[] _byte = digest.digest(password.getBytes());

        // 把每一个Byte与0xff做与运算

        for (byte b : _byte) {

            // 与运算

            int number = b & 0xff;

           //将与运算的结果转成16进制

            String _temp= Integer.toHexString(number);

           //如果16进制长度为1则补0

            if(_temp.length()==1){

                buffer.append("0");

            }

            buffer.append(_temp);

        }

        

        return buffer.toString();

    }
作者: Morgan    时间: 2015-7-8 09:07
好!!!!!!!!!!!
作者: 耀阳圣尊    时间: 2015-7-8 09:35
面试的时候,会问你,登录页面你是怎么做的,用没用算法?用了什么算法。讲一讲




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2