当前位置: 代码网 > it编程>编程语言>Java > java实现MD5加密和解密全过程

java实现MD5加密和解密全过程

2025年12月22日 Java 我要评论
java实现md5加密和解密java没有实现md5解密操作,但是有些网站可以完成解密。也可以使用其他方法进行可逆的加密解密操作。加密解密package com.yy.utils;import java

java实现md5加密和解密

java没有实现md5解密操作,但是有些网站可以完成解密。

也可以使用其他方法进行可逆的加密解密操作。

加密解密

package com.yy.utils;

import java.math.biginteger;
import java.security.messagedigest;
import java.security.nosuchalgorithmexception;

public class md5utils {
	/**
	 * 使用md5的算法进行加密
	 */
	public static string md5(string plaintext) {
		byte[] secretbytes = null;
		try {
			secretbytes = messagedigest.getinstance("md5").digest(
					plaintext.getbytes());
		} catch (nosuchalgorithmexception e) {
			throw new runtimeexception("没有md5这个算法!");
		}
		string md5code = new biginteger(1, secretbytes).tostring(16);// 16进制数字
		// 如果生成数字未满32位,需要前面补0
		for (int i = 0; i < 32 - md5code.length(); i++) {
			md5code = "0" + md5code;
		}
		return md5code;
	}

	/**
	 * 可逆的的加密解密方法;两次是解密,一次是加密
	 * @param instr
	 * @return
	 */
	public static string convertmd5(string instr){

		char[] a = instr.tochararray();
		for (int i = 0; i < a.length; i++){
			a[i] = (char) (a[i] ^ 't');
		}
		string s = new string(a);
		return s;

	}

	

	public static void main(string[] args) {
		string s = md5("1234");
		system.out.println("md5后:"+s);
		system.out.println("md5后再加密:"+convertmd5(s));
		system.out.println("md5加密后解密:"+convertmd5(convertmd5(s)));
		string s2 = convertmd5("12345");
		system.out.println("可逆的加密解密方法之加密:"+s2);
		system.out.println("可逆的加密解密方法之解密:"+convertmd5(s2));
	}

}

运行结果

总结

要想实现md5的加密是可以实现的,解密的话截止博客发布时间之前,我目前只找到有md5解密的网站进行解密,没有发现怎么实现解密。

因此,我又找到了另一个可以实现解密和解密操作的方法,可以实现一次是加密,二次调用就是解密的操作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com