• MD5加密算法


    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class MD5Utils {
        /**
         * MD5加密的算法
         */
        public static String md5(String text) {
            //MessageDigest:接收任意大小,输出固定哈希值
            MessageDigest digest = null;
            try {
                digest = MessageDigest.getInstance("md5");
                //最后更新,完成摘要计算
                byte[] result = digest.digest(text.getBytes());
                StringBuilder sb = new StringBuilder();
                for (byte b : result) {
                    //1.将数据全部转化为整数
                    // 解释:为什么采用b&0xff
                    /*
                     * b:它本来是一个byte类型的数据(1个字节) 0xff即255:是一个int类型的数据(4个字节)
                     * byte类型的数据与int类型的数据进行运算,会自动类型提升为int类型  b: 1001 1100(原始数据)
                     * 运算时:
                     *   b: 0000 0000 0000 0000 0000 0000 1001 1100
                     * 255: 0000 0000 0000 0000 0000 0000 1111 1111
                     * 运算结果:
                     * 0000 0000 0000 0000 0000 0000 1001 1100 此时的number是一个int类型的整数
                     */
                    int number = 0 & 0xff;
                    // 2.将所有的数据转换成16进制的形式
                    // 注意:转换的时候注意(0<=hex<16),如果使用Integer.toHexString(),可能会造成缺少位数,需要补0
                    // 因此,需要对hex的长度进行判断
                    //hex.length==1: 0<=hex<=0xf 即 hex为[0,15]中的任何一个数
                    String hex = Integer.toHexString(number);
                    if (hex.length() == 1) {
                        sb.append("0" + hex);
                    } else {
                        sb.append(hex);
                    }
                }
                return sb.toString();
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
                return " ";
            }
        }
    }

     转载:https://www.cnblogs.com/CQY1183344265/p/5851456.html#undefined

  • 相关阅读:
    【leetcode】9. Palindrome Number
    【leetcode】7. Reverse Integer
    【Leetcode】6. ZigZag Conversion
    Mysql读写分离
    Windows下为PHP安装redis扩展
    jquery 写的图片左右连续滚动
    PHP中spl_autoload_register函数的用法
    MySQL命令行查询乱码解决方法:
    AJAX 教程
    Mac安装composer爬过的坑
  • 原文地址:https://www.cnblogs.com/chaunceyji/p/10499500.html
Copyright © 2020-2023  润新知