`
virusfu
  • 浏览: 183121 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SHA+HEX消息摘要加密

 
阅读更多

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 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt) Java 加密是指使用 Java 语言来实现数据加密、解密和数字签名等操作。数据加密是指将明文数据转换为难以理解的密文,以保护数据的机密性和完整性。Java 提供了...

    Vue-常用加密(MD5,DES,SHA256,BASE64,SHA1,RSA)

    Vue-常用加密(MD5, DES, SHA256, BASE64, SHA1, RSA) Vue 中常见的加密算法可以分成三类:对称加密算法、非对称加密算法和 Hash 算法。下面将详细介绍每种加密算法的特点、优点和缺点,以及它们的应用场景。 一...

    SHA256加密.zip

    这个类提供了一种标准的方式来计算各种消息摘要,包括SHA256。以下是一个简单的Java代码示例,展示了如何使用原生的Java API进行SHA256加密: ```java import java.security.MessageDigest; import java.security....

    C++实现对数据的SHA-256加密算法

    SHA-256是一种广泛使用的密码散列函数,它能够将任意长度的输入(也称为预映射或消息)转化为固定长度的输出,通常为256位的散列值。这个散列值是对原始数据的一种摘要,具有单向性和抗碰撞特性,使得在大量数据中...

    Delphi SHA256加密签名

    SHA256算法的原理是将输入数据(消息)通过一系列复杂的数学运算,转换成固定长度的摘要信息。这个过程是单向的,即无法通过摘要信息反推原始数据,同时具有抗碰撞的特性,即两个不同的消息几乎不可能产生相同的摘要...

    js实现SHA1和MD5加密

    JavaScript是一种广泛用于...在提供的"js实现SHA1和MD5加密.txt"文件中,可能包含了如何在JavaScript环境中使用特定库或自定义函数实现SHA1和MD5加密的示例代码,这可以帮助开发者快速地在自己的项目中集成这些功能。

    js下SHA256加密

    js使用sha256加密字符串生成签名使用,调用sha256_digest(str)方法即可

    js实现Md5 Base64 Sha256加密

    MD5、Base64和SHA-256是三种常见的加密算法,它们在JavaScript中都有对应的实现。 **MD5(Message-Digest Algorithm 5)** MD5是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的128位(16字节)摘要...

    md5+sha1 js文件.zip

    平时用的md5+sha1加密的js文件,用法: &lt;script type="text/javascript" src="js/md5.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="js/sha1.js"&gt; var hash = hex_md5(name+" "+password); var date = new ...

    使用MD5或者SHA算法对字符串加密

    根据提供的文件信息,本文将详细解析使用MD5与SHA算法对字符串进行加密的相关知识点,包括这些算法的基本原理、应用场景以及代码实现方式。 ### MD5与SHA算法简介 #### MD5算法 MD5(Message-Digest Algorithm 5)...

    SHA1(加密工具类)

    SHA1算法能够将任意长度的输入(也称为预映射或消息)转化为固定长度的输出,这个输出通常是一个160位的二进制数,以16进制表示时为40个字符。这种转化过程是单向的,即给定一个输入,可以很容易地得到唯一的输出,...

    Java加密 消息摘要算法SHA实现详解.zip

    通过阅读《Java加密 消息摘要算法SHA实现详解.pdf》这份文档,读者将深入理解SHA算法的工作原理、如何在Java中实现以及其在安全领域的应用。这份资料对于Java和C#开发者来说都是一份宝贵的资源,有助于提升他们在...

    JSP的SHA加密

    - 首先,需要引入`java.security.MessageDigest`类,这是Java提供的用于执行各种消息摘要算法的类。 - 创建`MessageDigest`实例,并指定要使用的SHA算法,如`MessageDigest.getInstance("SHA-256")`。 - 使用`...

    JAVA SHA1加密-微信签名适用

    SHA1全称为Secure Hash Algorithm 1,它是由美国国家安全局(NSA)设计的,可以将任意长度的输入转换为固定长度的输出,这个固定长度的输出通常称为哈希值或消息摘要。SHA1算法产生的哈希值长度为160位,通常表示为...

    net、asp、php三个平台的sha256加密

    它能够将任意长度的信息转化为固定长度的摘要值,这个摘要值具有唯一性和不可逆性,常用于数据完整性验证和密码存储。在.NET、ASP和PHP这三个不同的开发平台上实现SHA256加密,确保了跨平台的一致性和安全性。 1. *...

    asp_hmac_sha256加密支持中文utf-8编码

    ASP HMAC-SHA256 加密是在ASP (Active Server Pages) 环境下实现的一种安全的哈希消息认证码(HMAC)算法,利用SHA256算法进行加盐加密。这种加密方法广泛应用于数据验证、签名以及密码存储等领域,确保了数据的完整...

    SHA-256加密算法JAVA

    在Java中实现SHA-256加密算法,可以使用内置的`java.security.MessageDigest`类。这个过程涉及到几个关键步骤,包括创建`MessageDigest`实例、更新输入数据和获取哈希值。 首先,我们需要导入必要的Java库: ```...

    Java加密 消息摘要算法SHA实现详解

    消息摘要算法SHA,全称为安全散列算法(Secure Hash Algorithm),是一系列加密散列函数的统称。在Java中,消息摘要算法常用于生成数据的固定大小的散列值(哈希值),这些散列值能够代表原始数据,但又不能从散列值...

Global site tag (gtag.js) - Google Analytics