zoukankan      html  css  js  c++  java
  • 密码加密md5和sha

    package cn.springmvc.util;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    public class SecurityIDUtil {
    /**
    * Encrypt string using MD5 algorithm
    */
    public final static String encryptMD5(String source) {
    if (source == null) {
    source = "";
    }
    String result = "";
    try {
    result = encrypt(source, "MD5");
    } catch (NoSuchAlgorithmException ex) {
    // this should never happen
    throw new RuntimeException(ex);
    }
    return result;
    }
    /**
    * Encrypt string using SHA algorithm
    */
    public final static String encryptSHA(String source) {
    if (source == null) {
    source = "";
    }
    String result = "";
    try {
    result = encrypt(source, "SHA");
    } catch (NoSuchAlgorithmException ex) {
    // this should never happen
    throw new RuntimeException(ex);
    }
    return result;
    }
    /**
    * Encrypt string
    */
    private final static String encrypt(String source, String algorithm)
    throws NoSuchAlgorithmException {
    byte[] resByteArray = encrypt(source.getBytes(), algorithm);
    return toHexString(resByteArray);
    }
    /**
    * Encrypt byte array.
    */
    private final static byte[] encrypt(byte[] source, String algorithm)
    throws NoSuchAlgorithmException {
    MessageDigest md = MessageDigest.getInstance(algorithm);
    md.reset();
    md.update(source);
    return md.digest();
    }
    /**
    * Get hex string from byte array
    */
    private final static String toHexString(byte[] res) {
    StringBuffer sb = new StringBuffer(res.length << 1);
    for (int i = 0; i < res.length; i++) {
    String digit = Integer.toHexString(0xFF & res[i]);
    if (digit.length() == 1) {
    digit = '0' + digit;
    }
    sb.append(digit);
    }
    return sb.toString().toUpperCase();
    }
    }

    正在做一个项目记录项目点点滴滴

  • 相关阅读:
    html页面中的转意字符
    bootstrap学习笔记3- navbar-header navbar-toggle 类 data-toggle和data-target
    DIV嵌套过程中的高度自适应问题
    <span class="icon-bar"></span> 不显示?
    CSS中定位的浮动float
    CSS 盒模型,块级元素和行内元素的区别和特性
    CSS padding
    CSS Position(定位)
    网络资料
    vue中 具名插槽+作用域插槽的混合使用
  • 原文地址:https://www.cnblogs.com/Seeasunnyday/p/5478227.html
Copyright © 2011-2022 走看看