zoukankan      html  css  js  c++  java
  • SHA256加密算法封装[我的代码库]

    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;

    public class SHA256Test {
        public static final String ALGORITHM = "SHA-256";

        public static String SHA256Encrypt(String orignal) {
            MessageDigest md = null;
            try {
                md = MessageDigest.getInstance(ALGORITHM);
            } catch (NoSuchAlgorithmException e) {
                e.printStackTrace();
            }
            if (null != md) {
                byte[] origBytes = orignal.getBytes();
                md.update(origBytes);
                byte[] digestRes = md.digest();
                String digestStr = getDigestStr(digestRes);
                return digestStr;
            }

            return null;
        }

        private static String getDigestStr(byte[] origBytes) {
            String tempStr = null;
            StringBuilder stb = new StringBuilder();
            for (int i = 0; i < origBytes.length; i++) {
                // System.out.println("and by bit: " + (origBytes[i] & 0xff));
                // System.out.println("no and: " + origBytes[i]);
                // System.out.println("---------------------------------------------");
                // 这里按位与是为了把字节转整时候取其正确的整数,java中一个int是4个字节
                // 如果origBytes[i]最高位为1,则转为int时,int的前三个字节都被1填充了
                tempStr = Integer.toHexString(origBytes[i] & 0xff);
                if (tempStr.length() == 1) {
                    stb.append("0");
                }
                stb.append(tempStr);

            }
            return stb.toString();
        }

        public static void main(String[] args) {
            System.out.println(SHA256Encrypt("AAaa11"));
        }

    }

  • 相关阅读:
    WEB安全第二篇--用文件搞定服务器:任意文件上传、文件包含与任意目录文件遍历
    WEB安全第一篇--对服务器的致命一击:代码与命令注入
    python的内存管理与垃圾回收机制学习
    java反序列化漏洞的检测
    python epoll实现异步socket
    Python class的属性访问控制和内建函数重写实现高级功能以及@property
    weblogic新漏洞学习cve-2017-10271
    PHP后门的eval类和system类 函数到底有哪些区别
    JS 转整型
    .NET MVC model数据验证
  • 原文地址:https://www.cnblogs.com/leipei2352/p/2614131.html
Copyright © 2011-2022 走看看