Apache的commons-codec
DigestUtils.shaHex(tmpStr);
package michael.utils; import java.security.MessageDigest; /** * blog www.micmiu.com * * @author Michael * */ public class EncoderHandler { private static final String ALGORITHM = "MD5"; private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; /** * encode string * * @param algorithm * @param str * @return String */ public static String encode(String algorithm, String str) { if (str == null) { return null; } try { MessageDigest messageDigest = MessageDigest.getInstance(algorithm); messageDigest.update(str.getBytes()); return getFormattedText(messageDigest.digest()); } catch (Exception e) { throw new RuntimeException(e); } } /** * encode By MD5 * * @param str * @return String */ public static String encodeByMD5(String str) { if (str == null) { return null; } try { MessageDigest messageDigest = MessageDigest.getInstance(ALGORITHM); messageDigest.update(str.getBytes()); return getFormattedText(messageDigest.digest()); } catch (Exception e) { throw new RuntimeException(e); } } /** * Takes the raw bytes from the digest and formats them correct. * * @param bytes * the raw bytes from the digest. * @return the formatted bytes. */ private static String getFormattedText(byte[] bytes) { int len = bytes.length; StringBuilder buf = new StringBuilder(len * 2); // 把密文转换成十六进制的字符串形式 for (int j = 0; j < len; j++) { buf.append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]); buf.append(HEX_DIGITS[bytes[j] & 0x0f]); } return buf.toString(); } public static void main(String[] args) { System.out.println("111111 MD5 :" + EncoderHandler.encodeByMD5("111111")); System.out.println("111111 MD5 :" + EncoderHandler.encode("MD5", "111111")); System.out.println("111111 SHA1 :" + EncoderHandler.encode("SHA1", "111111")); } }
相关推荐
MD5(Message-Digest Algorithm 5)、SHA1(Secure Hash Algorithm 1)和SHA256(Secure Hash Algorithm 2,256位版本)是常见的哈希函数,用于生成固定长度的数字指纹,常用于数据完整性校验、密码存储等领域。...
JAVA 加密算法
在IT领域,数据完整性与安全性至关重要,而md5和sha1就是两种常见的校验和算法,用于验证文件是否被篡改或损坏。本工具提供了一种便捷的方式,通过CMD(命令行)操作来计算文件的md5和sha1摘要值。 MD5(Message-...
MD5、SHA1和SHA256是三种广泛使用的散列函数,它们在信息安全领域扮演着重要的角色。本文将深入探讨这些算法的原理、实现以及C语言中的应用。 首先,MD5(Message-Digest Algorithm 5)是由Ronald Rivest在1991年...
`md5deep-4.3`是一个开源软件包,它包含了MD5以及其他可能的哈希算法(如SHA1)的C语言实现。这个工具可以在Linux环境下运行,用于计算文件的哈希值,以检测文件是否被修改过。通过分析源代码,我们可以学习到如何将...
在这个主题中,我们主要关注三种哈希算法:SHA256、MD5和SHA1。这些算法都是将任意长度的数据转换为固定长度的摘要,具有单向性和抗碰撞性。 1. **MD5(Message-Digest Algorithm 5)** - **简介**:MD5由Ronald ...
在VC++环境下,实现MD5和SHA-1算法通常涉及以下步骤: 1. 引入库:可能需要引入第三方库,如OpenSSL,它提供了C++接口来实现这些哈希函数。 2. 数据预处理:根据算法规范,可能需要在原始消息前添加填充比特和长度...
这段代码演示了如何在Java中计算字符串的MD5值。 总结,Java实现MD5加密算法主要是通过`java.security.MessageDigest`类,经过`getInstance("MD5")`获取MD5实例,然后使用`digest()`和`update()`方法处理数据,最终...
加密算法的 js 实现 md4 md5 sha-1 加密算法的 js 实现 md4 md5 sha-1 加密算法的 js 实现 md4 md5 sha-1 加密算法的 js 实现 md4 md5 sha-1
在这个压缩包中,包含的资源可以帮助我们理解并实现SHA1、SHA、MD5、AES加密与解密,以及BASE64编码和解码。下面我们将详细探讨这些加密算法和它们在Java中的实现。 1. **SHA(Secure Hash Algorithm)**: SHA是一...
1. **导入相关库**:在Java中,MD5加密需要用到`java.security.MessageDigest`类。首先需要导入这个库: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; ``` 2. **...
MD5(Message-Digest Algorithm 5)和SHA1(Secure Hash Algorithm 1)是两种广泛应用于数据完整性验证和信息安全领域的哈希(HASH)算法。它们的主要功能是将任意长度的数据转化为固定长度的摘要值,这个摘要值具有...
在Java中,实现SHA1加密算法主要涉及`java.security.MessageDigest`类。这个类提供了一种方法来生成各种消息摘要,包括SHA1。下面将详细介绍如何在Java中实现SHA1加密。 首先,我们需要导入`java.security....
一个计算md5 sha1免费小程序,操作方便,只需鼠标拉动文件,计算值自动保存在当前目录下的MD5 SHA1.TXT 文件中,它还可计算目录下的所有文件的md5 sha1一个值,所以也可以比较二个目录是否完全相同。 此程序有自检...
MD5(Message-Digest Algorithm 5)和SHA-1(Secure Hash Algorithm 1)是两种广泛应用的哈希算法,尽管它们在设计上有一些相似之处,但在安全性、输出长度和实现效率等方面存在差异。 MD5是由Ronald Rivest于1992...
### Java中的MD5算法 #### 一、简介 在计算机科学领域中,MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据转换为固定长度的128位(16字节)哈希值。由于其独特的特性,MD5被...
Python 如何使用MD5或SHA1等算法对用户密码进行加密 Python源码Python 如何...Python源码Python 如何使用MD5或SHA1等算法对用户密码进行加密 Python源码Python 如何使用MD5或SHA1等算法对用户密码进行加密 Python源码
通过以上分析,我们不仅了解了MD5与SHA算法的基本概念,还掌握了如何在Java中实现这两种算法来加密字符串的方法。这对于开发人员来说是非常实用的知识点,可以帮助他们在实际项目中更好地保护数据的安全性。
MD5(Message-Digest Algorithm 5)和SHA1(Secure Hash Algorithm 1)是两种常见的哈希算法,用于将任意长度的数据转化为固定长度的摘要,这个过程是不可逆的。这些哈希算法广泛应用于密码存储、数据完整性校验等...