A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Ruby 中级黑马   /  2015-7-8 02:08  /  366 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


一、把密码转成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();

    }

2 个回复

倒序浏览
好!!!!!!!!!!!
回复 使用道具 举报
面试的时候,会问你,登录页面你是怎么做的,用没用算法?用了什么算法。讲一讲
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马