• 方法----MessageDigest和DigestUtils加密算法


    总结:使用DigestUtils的方法加密的结果与messageDigest的方法加密结果一致,可使用DigestUtils替换MessageDigest 可省掉部分代码
    package com.action;

    import java.security.MessageDigest;

    import org.apache.commons.codec.digest.DigestUtils;

    public class Hello {
        
        private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
        
        public static void main(String[] args) throws Exception {
            String testStr = "baichuanyu12";
            
            //使用DigestUtils进行md5加密  需要引入 commons-codec.jar
            String md5Result = DigestUtils.md5Hex(testStr.getBytes());
            System.out.println(md5Result);
            //使用DigestUtils进行sha1加密
            String sha1Result = DigestUtils.shaHex(testStr.getBytes());
            System.out.println(sha1Result);
            
            //使用MessageDigest进行MD5加密
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(testStr.getBytes());
            String md5 = getFormattedText(md.digest());
            System.out.println(md5);
            //使用MessageDigest进行SHA1加密
            MessageDigest md_sha = MessageDigest.getInstance("SHA-1");
            md_sha.update(testStr.getBytes());
            String sha1 = getFormattedText(md_sha.digest());
            System.out.println(sha1);
        }

        // 加密算法 把密文转成16进制的字符串形式
        public static String getFormattedText(byte[] bytes) {
            int len = bytes.length;
            StringBuilder buf = new StringBuilder(len * 2);
            for (int j = 0; j < len; j++) {
                buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);
                buf.append(HEX_DIGITS[bytes[j] & 0x0f]);
            }
            return buf.toString();
        }
    }

  • 相关阅读:
    数据库知识扩展
    数据库遇到的问题——mysql在线修改表结构大数据表的风险与解决办法归纳
    数据库遇到的问题——事务操作时中断导致锁表
    java中常见的内存泄露的例子
    数据库设计中常见表结构分析
    索引失效的7种情况
    DWZ 自定义异常及后台校验2-a链接弹出框
    DWZ 自定义异常及后台校验
    Excl中的数据转换成SQL脚本(含日期写法)
    SpringAop (二)
  • 原文地址:https://www.cnblogs.com/zt007/p/5945733.html
Copyright © 2020-2023  润新知