java實現MD5加密和解密全過程
更新時間:2025年12月22日 09:59:00 作者:?abc!
Java可以實現MD5加密,但無法解密,有一些網站提供MD5解密服務,但沒有找到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的加密是可以實現的,解密的話截止博客發(fā)布時間之前,我目前只找到有md5解密的網站進行解密,沒有發(fā)現怎么實現解密。
因此,我又找到了另一個可以實現解密和解密操作的方法,可以實現一次是加密,二次調用就是解密的操作
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
spring boot 集成 shiro 自定義密碼驗證 自定義freemarker標簽根據權限渲染不同頁面(推薦
這篇文章主要介紹了spring-boot 集成 shiro 自定義密碼驗證 自定義freemarker標簽根據權限渲染不同頁面,需要的朋友可以參考下2018-12-12
SpringBoot整合日志功能(slf4j+logback)詳解(最新推薦)
Spring使用commons-logging作為內部日志,但底層日志實現是開放的,可對接其他日志框架,這篇文章主要介紹了SpringBoot整合日志功能(slf4j+logback)詳解,需要的朋友可以參考下2024-08-08
FuncGPT慧函數保護數據安全提高代碼質量減少軟件故障(java示例)
這篇文章主要為大家介紹了FuncGPT慧函數保護數據安全提高代碼質量減少軟件故障(java示例),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10
Java8之lambda最佳實踐_動力節(jié)點Java學院整理
在8 里面Lambda是最火的主題,不僅僅是因為語法的改變,更重要的是帶來了函數式編程的思想,我覺得優(yōu)秀的程序員,有必要學習一下函數式編程的思想以開闊思路2017-06-06

