JAVA开发经验(二):常用工具类1.7-加解密-SHA
程序员文章站
2022-06-05 08:52:45
...
摘要说明:
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) {
}
}
}