`
隐形的翅膀
  • 浏览: 498391 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SUN 提供的消息摘要算法 MD与SHA

阅读更多
SUN 提供的消息摘要算法

接收任意大小的数据,并输出固定长度的哈希值

1. MD2,MD5,SHA-1,SHA-256,SHA-384,SHA-512

      MD5: 128 个比特位

       SHA: 160,256,384,512个比特位


2. package: java.security.MessageDigest


3. Example
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Hex;

public class test {

	/**
	 * @param args
	 * @throws NoSuchAlgorithmException 
	 */
	public static void main(String[] args) throws NoSuchAlgorithmException {
		
		MessageDigest md;
        md = MessageDigest.getInstance("SHA-1");
        /* MD2
         * MD5
         * SHA1 OR SHA-1
         * SHA-256
         * SHA-384
         * SHA-512
         */
        String str="ni hao";
        
        //md.update(str.getBytes());
        //byte[] byteDigest = md.digest();
        
        byte[] byteDigest = md.digest(str.getBytes());
        
        Hex hex=new Hex();
        
        byte[] hexStr=hex.encode(byteDigest);
        
        System.out.println(new String(hexStr));
        
	}

}
分享到:
评论

相关推荐

    Java实现常用加密算法——单向加密算法MD5和SHA

    开发者可以通过这个方法传入"MD5"或"SHA-1"(支持SHA系列算法)来获得相应算法的实例,并调用digest()方法来获取数据摘要。 MD5是一种广泛使用的单向加密算法,它可以生成一个128位(16字节)的哈希值(通常表示为...

    Java经典算法--加密算法

    MD5 产生128位(16字节)的哈希值,同样作为一种常用的消息摘要算法,在过去的应用非常广泛。但由于存在碰撞攻击的风险,现在推荐使用更安全的 SHA-256 或者 SHA-3。 #### 四、非对称加密 非对称加密算法使用一对...

    MD5校验工具两个MD5_Check

    MD5 Check可能是一个独立的程序,用户可以输入文件路径,该程序会计算文件的MD5值并显示出来,以便与官方提供的MD5值进行比对。用户通常会在下载大型软件或重要文件后使用这类工具,以确保下载的文件与原始文件一致...

    JAVA上加密算法的实现用例

    SHA1和MD5是两种广泛使用的消息摘要算法。SHA1产生的是20字节的二进制数组,而MD5则生成16字节的哈希值。这两个算法具有两大特性:一是不同数据几乎不可能生成相同的摘要,二是从摘要反推原数据极为困难。这使得消息...

    md5实现加密技术

    MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,用于生成一个固定长度(通常是128位)的散列值或消息摘要。MD5的主要用途是为数据完整性提供保护,它能够将任意长度的消息压缩成一个较短的、固定长度...

    使用java实现数据加密算法

    ##### 2.2 消息摘要MD5和SHA的使用 Java提供了`java.security.MessageDigest`类来支持消息摘要的计算。下面是一些关键步骤: 1. 创建一个`MessageDigest`实例,指定使用哪种摘要算法(例如SHA-1或MD5)。 2. 使用`...

    java算法集锦

    消息摘要的实现,如MD5和SHA,通过`java.security.MessageDigest`类轻松完成,不仅支持多种摘要算法,还提供了丰富的API来处理摘要的生成和验证,为Java开发者提供了强大的安全工具箱。 综上所述,Java算法集锦不仅...

    JAVA 加密 解密 算法

    根据提供的文件信息,本文将详细解析Java中的加密与解密算法,特别关注Blowfish算法的实现,并简要介绍消息摘要算法(如MD5)的基本用法。 ### 1. Java中的加密解密基础 在Java中,进行数据加密与解密主要依赖于...

    JAVA加密算法

    常见的消息摘要算法包括SHA1和MD5。 **特点:** - **输入长度可变,输出长度固定**。 - **不同输入几乎不可能产生相同输出**。 - **从摘要很难还原出原始数据**。 - **计算速度快**。 **代表算法:** - **SHA1 ...

    Java中4大基本加密算法解析

    与MD5类似,SHA算法也能将任意长度的数据转换成固定长度的哈希值,但相较于MD5更加安全。 **2. 工作原理** SHA算法通过更复杂的数学运算来生成哈希值,其结果通常比MD5更长。这使得SHA算法对于抵抗碰撞攻击的能力...

    三平台通用加密算法(java/.net/Object-C)

    3. **哈希函数**:如MD5和SHA-1/2,将任意长度的消息转化为固定长度的摘要,常用于验证数据完整性,但不适用于加密。 在跨平台的场景中,开发者需要确保选择的加密算法在所有目标平台上都有可用的实现,并且行为...

    主题:用JAVA类实现MD5加密-----MakeMD5.java

    3. **异常处理**:虽然代码中抛出了异常,但在生产环境中,应捕获这些异常并提供更友好的错误消息,避免直接暴露技术细节给用户。 4. **依赖问题**:`sun.misc.BASE64Encoder`在Java 9及更高版本中已被弃用,建议...

    简单易懂的MD5码方法

    MD5是一种广泛使用的密码散列函数,它能够接收任意长度的信息作为输入,并产生一个固定长度(通常为128位)的哈希值,也称为摘要或消息摘要。这种算法的主要用途是数据完整性的检查,以及在存储密码时进行加密处理,...

    Java 的IDEA 加密算法加密和数字签名编程

    目前,Java开发工具包(JDK)1.5及以上版本对MD4、MD5、SHA-1等算法提供了支持。通过`java.security.MessageDigest`类,开发者可以轻松地实现消息摘要功能。 ##### 2.2 国内加密技术现状 对于中国而言,虽然可以从...

    java md5

    Java MD5(Message-Digest Algorithm 5)是一种广泛使用的...在实际编程中,理解这些概念并熟练运用MD5可以帮助你完成数据校验、日志记录等任务,但要记住,对于安全性敏感的应用,应当选择更安全的哈希算法如SHA-256。

    MD5加密,简单易懂

    ### MD5加密算法详解 #### 一、简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,可以将任意长度的数据转换为一个固定长度(通常是128位)的十六进制字符串。这种转换过程是不可逆的,也就是说...

    java-加密示例-适合初学

    例如,`MessageDigest`类用于MD5和SHA哈希计算,`Base64`类(Java 8及以上版本)或`sun.misc.BASE64Encoder`(旧版本)处理BASE64编码,而`javax.crypto`包提供了DES加密的实现,如`Cipher`类和`SecretKeySpec`类。...

Global site tag (gtag.js) - Google Analytics