`
Tristan_S
  • 浏览: 361542 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MD5散列算法

 
阅读更多
MD5生成16位的字节,一个字节就是8个bit 8个二进制字符  2个16进制字符
所以用16进制来查看MD5的结果是32个字符

byte[] b = Md5Utils.md5sum("123");
    	System.out.println(b.length);
    	 String resultString = byteArrayToHexString(b);
    	 System.out.println(resultString);


输出
16
202CB962AC59075B964B07152D234B70

SHA-1比MD5的碰撞概率更低,  20位字节

 public static String byteArrayToHexString(byte[] b){  
        StringBuffer resultSb = new StringBuffer();  
        for (int i = 0; i < b.length; i++){  
            resultSb.append(byteToHexString(b[i]));  
        }  
        return resultSb.toString();  
    }  
      
    /** 将一个字节转化成十六进制形式的字符串     */  
    private static String byteToHexString(byte b){  
        int n = b;  
        if (n < 0)  
            n = 256 + n;  
        int d1 = n / 16;  
        int d2 = n % 16;  
        return hexDigits[d1] + hexDigits[d2];  
    }  
public static byte[] md5sum(String s) {
    MessageDigest d;
    try {
      d = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException e) {
      throw new RuntimeException("MD5 algorithm not available!", e);
    }

    return d.digest(Bytes.toBytes(s));
  }
分享到:
评论

相关推荐

    MD5散列算法, C语言描述

    转 MD5散列算法, C语言描述. md5.h md5.cpp

    MD5(散列算法)加密

    Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了"安全-带子"(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法...

    jsmd5散列算法

    js md5加密,$.md5(String)返回十六进制数,支持中文

    md5散列值算法

    c++源文件,求任意序列的Md5. int F(unsigned int x,unsigned int y,unsigned int z); int G(unsigned int x,unsigned int y,unsigned int z); int H(unsigned int x,unsigned int y,unsigned int z); int I...

    SHA(安全散列算法)

    安全散列算法 SHA (即Secu re Hash AIgorlthm 安全散列算法)是一种 常用的数据加密算法.它由美国国家标准与技术局(NatlonaI InstItute of Standards and TechnoIogy)于1 993年作为联邦信息 处理标准公布(即第一代...

    md_5.rar_md-5_散列算法

    散列算法 MD5函数 设计一个无碰撞的压缩函数。

    Delpi版的MD5算法

    Delphi版本的MD5散列算法。支持字符串和文件的MD5散列算法。

    md5散列加密算法 强大的工具

    加密算法,增加写代码的效率。很强的算法。。。。。。。。

    散列算法类库 (修正版)

    包含 SHA-1,SHA-256,SHA-512,MD-5,CRC-32,Tiger-192 六种常见散列算法的库。xxx_f 包含计算函数,具有断点续算功能,类名不包括 _f 的仅包含内存操作及比较函数。 用法:反复调用 void append(uint8_t *src, uint64...

    md5加密算法 C语言(经过测试验证完整版)

    MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...

    网络安全MD5算法的java实现

    MD5 jar包是用java编写的一个实现网络安全中的md5散列算法的第三方包。我自己在实习的时候编写的

    apr1-md5:Apache 在纯 PHP 中的 APR1-MD5 算法

    这是 Apache 的 APR1 MD5 散列算法在纯 PHP 中的测试、引用、记录和打包实现。安装作曲家.json: { " require " : { " whitehat101/apr1-md5 " : " ~1.0 " }}用 use WhiteHat101 \ Crypt \ APR1_MD5 ;// Check ...

    MD5加密算法-c源代码

    MD5加密算法-c源代码 MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。 MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为...

    安全散列算法SHA-1介绍

    1993 年美国国家标准局(NIST)公布了安全散列算法SHA,SHA 已经被美国政府核准作为标准,即FIPS 180 Secure Hash Standard (SHS),FIPS 规定必须用SHS 实施数字签名算法,该算法主要是和数字签名算法(DSA)配合的...

    md5单向散列加密算法.rar_hash algorithm_import dll_md5 pb_pb md5加密_pb md

    md5单向散列加密算法,此压缩包,包含完整调用DLL源码,PB格式.导入后直接可以应用.

    HMAC-MD5算法 keil C实现代码

    阿里云设备登录一机一密和一型一密都需要用到HMAC-MD5算法 什么是 HMAC-MD5? 1、比如你和对方共享了一个密钥K,现在你要发消息给对方,既要保证消息没有被篡改,又要能证明信息确实是你本人发的,那么就把原信息...

    javascript----md5加密算法

    MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...

    STM32计算MD5参考程序.zip

    一、MD5计算将整个文件或者字符串,通过其不可逆的字符串变换计算,产生文件或字符串的MD5散列值。任意两个文件、字符串不会有相同的散列值(即“很大可能”是不一样的,理论上要创造出两个散列值相同的字符串是很...

    windows下制作和应用数字签名证书全套工具

    远程服务使用已使用加密弱散列算法(例如MD2,MD4,MD5或SHA1) 签名的SSL证书链。已知这! 攻击者可以利用此方法生成具有相同数字签名的另一个证书,允许攻击者伪装成受影响的服务。 CVE-2004-7761

Global site tag (gtag.js) - Google Analytics