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();
    }
    }

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

  • 相关阅读:
    cityscapes和Mapillary Vistas两种不同分割数据集的label映射
    探究Z-Order
    Java ——对Swing、AWT和SWT的认识 原创
    UOJ-581 NOIP2020 字符串匹配
    UOJ-618 JOISC2021 聚会 2
    Codeforces Round #740 (Div. 1, based on VK Cup 2021
    PipeCAD
    第三次全国国土调查相关信息记录
    统计研究区内Landsat影像数量
    GEE数据导出注意事项
  • 原文地址:https://www.cnblogs.com/Seeasunnyday/p/5478227.html
Copyright © 2011-2022 走看看