• SSM整合项目 MD5加密工具类


    SSM整合项目 MD5加密工具类

    com.lyc.util.CrowdUtil.java

    public class CrowdUtil {
        /**
         * 对明文字符串进行md5加密
         * @param source 传入的字符串
         * @return 加密的结果
         */
        public static String md5(String source) {
            // 1.判断source是否有效
            if (source == null || source.length() == 0) {
                // 2.如果不是有效的字符串抛出异常
                throw new RuntimeException(CrowdConstant.MESSAGE_STRING_INVALIDATE);
            }
            try {
                // 3.获取MessageDigest对象
                String algorithm = "md5";
                MessageDigest messageDigest = MessageDigest.getInstance(algorithm);
    
                // 4.获取明文字符串对应的字节数组
                byte[] input = source.getBytes();
    
                // 5.执行加密
                byte[] output = messageDigest.digest(input);
    
                // 6.创建BigInteger对象
                int signum = 1;
                BigInteger bigInteger = new BigInteger(signum,output);
    
                // 7.按照16进制将bigInteger的值转换为字符串
                int radix = 16;
                String encoded= bigInteger.toString(radix).toUpperCase();
    
                return encoded;
    
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
    
            return null;
        }
    }
    

    测试代码:

    public class StringTest {
        @Test
        public void testMd5(){
            String source = "123123";
            String encoded = CrowdUtil.md5(source);
            System.out.println(encoded);
        }
    }
    

    运行结果:

  • 相关阅读:
    c++ 学习笔记
    python 2048游戏控制器
    c++ 动态内存
    c++ 拷贝构造函数、拷贝运算符、析构函数
    c++ struct enum union加typedef与不加typedef
    c++ 动态内存2
    c++ 指针数组与指向数组的指针
    c++ TextQuery程序
    c++ virtual
    c++ 动态内存 动态数组
  • 原文地址:https://www.cnblogs.com/liuyunche/p/14758543.html
Copyright © 2020-2023  润新知