import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 消息摘要加密
* <p>
* SHA+Hex
*
* @author
*
*/
public abstract class ShaHex {
/** 明文编码 */
private static final String ENCODING = "UTF8";
/** 加密算法 */
private static final String PROVIDER = "SHA-1";
private static final Logger LOG = LoggerFactory.getLogger(ShaHex.class);
private ShaHex() {
// do nothing
}
/**
* 获得明文摘要信息
* @param message
* @return 加密成功时,返回摘要信息,加密失败时直接返回明文。
*/
public static final String messageDigest(String message) {
String digest = null;
try {
final byte[] plainText = message.getBytes(ENCODING);
MessageDigest messageDigest = MessageDigest.getInstance(PROVIDER);
messageDigest.update(plainText);
digest = new String(HexUtils.encode(messageDigest.digest()));
} catch (UnsupportedEncodingException e) {
LOG.error("加密失败!", e);
digest = message;
} catch (NoSuchAlgorithmException e) {
LOG.error("加密失败!", e);
digest = message;
}
return digest;
}
}
分享到:
相关推荐
Java 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt) Java 加密是指使用 Java 语言来实现数据加密、解密和数字签名等操作。数据加密是指将明文数据转换为难以理解的密文,以保护数据的机密性和完整性。Java 提供了...
Vue-常用加密(MD5, DES, SHA256, BASE64, SHA1, RSA) Vue 中常见的加密算法可以分成三类:对称加密算法、非对称加密算法和 Hash 算法。下面将详细介绍每种加密算法的特点、优点和缺点,以及它们的应用场景。 一...
这个类提供了一种标准的方式来计算各种消息摘要,包括SHA256。以下是一个简单的Java代码示例,展示了如何使用原生的Java API进行SHA256加密: ```java import java.security.MessageDigest; import java.security....
SHA-256是一种广泛使用的密码散列函数,它能够将任意长度的输入(也称为预映射或消息)转化为固定长度的输出,通常为256位的散列值。这个散列值是对原始数据的一种摘要,具有单向性和抗碰撞特性,使得在大量数据中...
SHA256算法的原理是将输入数据(消息)通过一系列复杂的数学运算,转换成固定长度的摘要信息。这个过程是单向的,即无法通过摘要信息反推原始数据,同时具有抗碰撞的特性,即两个不同的消息几乎不可能产生相同的摘要...
JavaScript是一种广泛用于...在提供的"js实现SHA1和MD5加密.txt"文件中,可能包含了如何在JavaScript环境中使用特定库或自定义函数实现SHA1和MD5加密的示例代码,这可以帮助开发者快速地在自己的项目中集成这些功能。
js使用sha256加密字符串生成签名使用,调用sha256_digest(str)方法即可
MD5、Base64和SHA-256是三种常见的加密算法,它们在JavaScript中都有对应的实现。 **MD5(Message-Digest Algorithm 5)** MD5是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的128位(16字节)摘要...
平时用的md5+sha1加密的js文件,用法: <script type="text/javascript" src="js/md5.js"></script> <script type="text/javascript" src="js/sha1.js"> var hash = hex_md5(name+" "+password); var date = new ...
根据提供的文件信息,本文将详细解析使用MD5与SHA算法对字符串进行加密的相关知识点,包括这些算法的基本原理、应用场景以及代码实现方式。 ### MD5与SHA算法简介 #### MD5算法 MD5(Message-Digest Algorithm 5)...
SHA1算法能够将任意长度的输入(也称为预映射或消息)转化为固定长度的输出,这个输出通常是一个160位的二进制数,以16进制表示时为40个字符。这种转化过程是单向的,即给定一个输入,可以很容易地得到唯一的输出,...
通过阅读《Java加密 消息摘要算法SHA实现详解.pdf》这份文档,读者将深入理解SHA算法的工作原理、如何在Java中实现以及其在安全领域的应用。这份资料对于Java和C#开发者来说都是一份宝贵的资源,有助于提升他们在...
- 首先,需要引入`java.security.MessageDigest`类,这是Java提供的用于执行各种消息摘要算法的类。 - 创建`MessageDigest`实例,并指定要使用的SHA算法,如`MessageDigest.getInstance("SHA-256")`。 - 使用`...
SHA1全称为Secure Hash Algorithm 1,它是由美国国家安全局(NSA)设计的,可以将任意长度的输入转换为固定长度的输出,这个固定长度的输出通常称为哈希值或消息摘要。SHA1算法产生的哈希值长度为160位,通常表示为...
它能够将任意长度的信息转化为固定长度的摘要值,这个摘要值具有唯一性和不可逆性,常用于数据完整性验证和密码存储。在.NET、ASP和PHP这三个不同的开发平台上实现SHA256加密,确保了跨平台的一致性和安全性。 1. *...
ASP HMAC-SHA256 加密是在ASP (Active Server Pages) 环境下实现的一种安全的哈希消息认证码(HMAC)算法,利用SHA256算法进行加盐加密。这种加密方法广泛应用于数据验证、签名以及密码存储等领域,确保了数据的完整...
在Java中实现SHA-256加密算法,可以使用内置的`java.security.MessageDigest`类。这个过程涉及到几个关键步骤,包括创建`MessageDigest`实例、更新输入数据和获取哈希值。 首先,我们需要导入必要的Java库: ```...
消息摘要算法SHA,全称为安全散列算法(Secure Hash Algorithm),是一系列加密散列函数的统称。在Java中,消息摘要算法常用于生成数据的固定大小的散列值(哈希值),这些散列值能够代表原始数据,但又不能从散列值...