Java生成MD5加密字符串代码实例

网友投稿 314 2023-07-31


Java生成MD5加密字符串代码实例

(1)一般使用的数据库中都会保存用户名和密码,其中密码不使用明码保存。

有时候用MD5密码,很多语言都提供了将字符串生成为MD5密码的方法或函数。MD5的加密算法是公开的。

有时候也可以用自己的字符串加密算法,这种加密算法是只有自己知道的。

(2)破解MD5的过程就是先算好大量或者所有可能的字符串的MD5数值,之后进行查询就可以破解。虽然有些网站规定了密码的位数在6~20位之间,但是要事先计算这么多是字符串并有效的组织存储、查询还是相当麻烦,相当慢的。

因为MD5的位数是固定的,比如16,32,64,而字符串的组合与长度是无穷尽的,这就有冲突啦。但是如果知道了加密前字符串的长度是有固定范围的,比如6~20,这个还是可以破解的。

但是,如果不知道加密前字符的长度那么这就是无穷尽啦。貌似现在还没有人能够破解吧。

MD5密码破解网站 :可以百度搜索“MD5解密”

(3)下面给出了一个java生成给定字符串的http://MD5密码的模块程序。

import java.security.MessageDbHYHADXuohigest;

public class Md5Test {

public void toMD5(String plainText) {

try {

//生成实现指定摘要算法的 MessageDigest 对象。

MessageDigest md = MessageDigest.getInstance("MD5");

//使用指定的字节数组更新摘要。

md.update(plainText.getBytes());

//通过执行诸如填充之类的最终操作完成哈希计算。

byte b[] = md.digest();

//生成具体的md5密码到buf数组

int i;

StringBuffer buf = new StringBuffer("");

for (int offset = 0; offset < b.length; offset++) {

i = b[offset];

if (i < 0)

i += 256;

if (i < 16)

buf.append("0");

buf.append(Integer.toHexString(i));

}

System.out.println("32位: " + buf.toString());// 32位的加密

System.out.println("16位: " + buf.toString().substring(8, 24));// 16位的加密,其实就是32位加密后的截取

}

catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String agrs[]) {

new Md5Test().toMD5("LXD");//加密LXD

}

}

PS:这里再为大家提供2款MD5加密工具,感兴趣的朋友可以参考一下:

MD5在线加密工具:

http://tools.jb51.net/password/CreateMD5Password

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:

http://tools.jb51.net/password/hash_md5_sha


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java图片处理 (文字水印、图片水印、缩放、补白)代码实例
下一篇:Java数据导入功能之读取Excel文件实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~