JAVA开发经验(二):常用工具类1.7-加解密-SHA

摘要说明:

SHA:安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。

SHA本质上是一个不可逆加密方式:

Maven依赖:

	<dependencies>
		<!-- Apache Commons Codec软件包包含各种格式的简单编码器和解码器,如Base64和Hexadecimal。除了这些广泛使用的编码器和解码器之外,编解码器包还维护着一组语音编码实用程序。 -->
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
	</dependencies>

java工具类:

SHA主要包括SHA,SHA-1,SHA-256,SHA-512等加密方法:


package com.tit.taf.encryption;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.apache.commons.codec.binary.Hex;

/**
 * @模块名:taf
 * @包名:com.tit.taf.encryption
 * @类名称: SHAUtil
 * @类描述:【类描述】
 * @版本:1.0
 * @创建人:cc
 * @创建时间:2018年8月27日上午11:01:39
 */
public class SHAUtil {
    public static final String CHARSET = "UTF-8";

    /**
     * 
     * @方法名:eccrypt
     * @方法描述【方法功能描述】
     * @param info
     * @return
     * @throws NoSuchAlgorithmException
     * @throws UnsupportedEncodingException
     * @修改描述【修改描述】
     * @版本:1.0
     * @创建人:cc
     * @创建时间:2018年8月27日 上午11:10:46
     * @修改人:cc
     * @修改时间:2018年8月27日 上午11:10:46
     */
    public static String eccrypt(String info, String type) throws NoSuchAlgorithmException,
            UnsupportedEncodingException {
        MessageDigest messageDigest;
        String encdeStr = "";
        messageDigest = MessageDigest.getInstance(type);
        byte[] hash = messageDigest.digest(info.getBytes("UTF-8"));
        encdeStr = Hex.encodeHexString(hash);
        return encdeStr;
    }

    public static void main(String[] args) throws NoSuchAlgorithmException {
        try {
            System.out.println("密文是:" + SHAUtil.eccrypt("cc", "SHA"));
            System.out.println("密文是:" + SHAUtil.eccrypt("cc", "SHA-256"));
            System.out.println("密文是:" + SHAUtil.eccrypt("cc", "SHA-512"));
        }
        catch (UnsupportedEncodingException e) {
        }
    }

}

猜你喜欢

转载自blog.csdn.net/u010904188/article/details/82109772