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.h md5.cpp
Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了"安全-带子"(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法...
js md5加密,$.md5(String)返回十六进制数,支持中文
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 (即Secu re Hash AIgorlthm 安全散列算法)是一种 常用的数据加密算法.它由美国国家标准与技术局(NatlonaI InstItute of Standards and TechnoIogy)于1 993年作为联邦信息 处理标准公布(即第一代...
散列算法 MD5函数 设计一个无碰撞的压缩函数。
Delphi版本的MD5散列算法。支持字符串和文件的MD5散列算法。
加密算法,增加写代码的效率。很强的算法。。。。。。。。
包含 SHA-1,SHA-256,SHA-512,MD-5,CRC-32,Tiger-192 六种常见散列算法的库。xxx_f 包含计算函数,具有断点续算功能,类名不包括 _f 的仅包含内存操作及比较函数。 用法:反复调用 void append(uint8_t *src, uint64...
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
MD5 jar包是用java编写的一个实现网络安全中的md5散列算法的第三方包。我自己在实习的时候编写的
这是 Apache 的 APR1 MD5 散列算法在纯 PHP 中的测试、引用、记录和打包实现。安装作曲家.json: { " require " : { " whitehat101/apr1-md5 " : " ~1.0 " }}用 use WhiteHat101 \ Crypt \ APR1_MD5 ;// Check ...
MD5加密算法-c源代码 MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。 MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为...
1993 年美国国家标准局(NIST)公布了安全散列算法SHA,SHA 已经被美国政府核准作为标准,即FIPS 180 Secure Hash Standard (SHS),FIPS 规定必须用SHS 实施数字签名算法,该算法主要是和数字签名算法(DSA)配合的...
md5单向散列加密算法,此压缩包,包含完整调用DLL源码,PB格式.导入后直接可以应用.
阿里云设备登录一机一密和一型一密都需要用到HMAC-MD5算法 什么是 HMAC-MD5? 1、比如你和对方共享了一个密钥K,现在你要发消息给对方,既要保证消息没有被篡改,又要能证明信息确实是你本人发的,那么就把原信息...
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特...
一、MD5计算将整个文件或者字符串,通过其不可逆的字符串变换计算,产生文件或字符串的MD5散列值。任意两个文件、字符串不会有相同的散列值(即“很大可能”是不一样的,理论上要创造出两个散列值相同的字符串是很...
远程服务使用已使用加密弱散列算法(例如MD2,MD4,MD5或SHA1) 签名的SSL证书链。已知这! 攻击者可以利用此方法生成具有相同数字签名的另一个证书,允许攻击者伪装成受影响的服务。 CVE-2004-7761