java對文件md5解密的簡單介紹

本文目錄一覽:

Java MD5如何解密?

MD5是單向加密的,不管何種數據進行MD5加密都會得到固定長度的字符串,

MD5一般用戶文件完整性的校驗,也有用來做密碼加密的。

想要破解MD5,因其本身的算法不可逆,故只能使用窮舉法,也就是不斷拼字符串加密和已知的MD5字符串進行比對,這是一個相當大的工程,需要龐大的數據基礎。

java中MD5 能不能解,如果能解那麼怎麼解

MD5隻不能解密的…它是一個不可逆的過程…

網站上提供MD5解密查詢只是把加密的數據保存到數據庫進行查詢得到的結果…

如何在java中實現md5加密和解密

package endecrypt;

02.

03.import java.io.UnsupportedEncodingException;

04.import java.security.MessageDigest;

05.import java.security.NoSuchAlgorithmException;

06.

07./**

08. * 採用MD5加密解密

09. * @author tfq

10. * @datetime 2011-10-13

11. */

12.public class MD5Util {

13.

14. /***

15. * MD5加碼 生成32位md5碼

16. */

17. public static String string2MD5(String inStr){

18. MessageDigest md5 = null;

19. try{

20. md5 = MessageDigest.getInstance(“MD5”);

21. }catch (Exception e){

22. System.out.println(e.toString());

23. e.printStackTrace();

24. return “”;

25. }

26. char[] charArray = inStr.toCharArray();

27. byte[] byteArray = new byte[charArray.length];

28.

29. for (int i = 0; i charArray.length; i++)

30. byteArray[i] = (byte) charArray[i];

31. byte[] md5Bytes = md5.digest(byteArray);

32. StringBuffer hexValue = new StringBuffer();

33. for (int i = 0; i md5Bytes.length; i++){

34. int val = ((int) md5Bytes[i]) 0xff;

35. if (val 16)

36. hexValue.append(“0”);

37. hexValue.append(Integer.toHexString(val));

38. }

39. return hexValue.toString();

40.

41. }

42.

43. /**

44. * 加密解密算法 執行一次加密,兩次解密

45. */

46. public static String convertMD5(String inStr){

47.

48. char[] a = inStr.toCharArray();

49. for (int i = 0; i a.length; i++){

50. a[i] = (char) (a[i] ^ ‘t’);

51. }

52. String s = new String(a);

53. return s;

54.

55. }

java 如何採用md5解密

package endecrypt;

import java.io.UnsupportedEncodingException;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

/**

* 採用MD5加密解密

* @author tfq

* @datetime 2011-10-13

*/

public class MD5Util {

/***

* MD5加碼 生成32位md5碼

*/

public static String string2MD5(String inStr){

MessageDigest md5 = null;

try{

md5 = MessageDigest.getInstance(“MD5”);

}catch (Exception e){

System.out.println(e.toString());

e.printStackTrace();

return “”;

}

char[] charArray = inStr.toCharArray();

byte[] byteArray = new byte[charArray.length];

for (int i = 0; i charArray.length; i++)

byteArray[i] = (byte) charArray[i];

byte[] md5Bytes = md5.digest(byteArray);

StringBuffer hexValue = new StringBuffer();

for (int i = 0; i md5Bytes.length; i++){

int val = ((int) md5Bytes[i]) 0xff;

if (val 16)

hexValue.append(“0”);

hexValue.append(Integer.toHexString(val));

}

return hexValue.toString();

}

/**

* 加密解密算法 執行一次加密,兩次解密

*/

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 = new String(“tangfuqiang”);

System.out.println(“原始:” + s);

System.out.println(“MD5後:” + string2MD5(s));

System.out.println(“加密的:” + convertMD5(s));

System.out.println(“解密的:” + convertMD5(convertMD5(s)));

}

}

java中,從數據庫取出來的密碼加密了,用代碼怎麼實現md5解密

md5是不可逆的,只不過用的人多了,就有人創建了一個md5密碼錶,應該就是傳說中的彩虹表,蜜要是有這個表就可以了

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/150512.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-08 14:54
下一篇 2024-11-08 14:54

相關推薦

發表回復

登錄後才能評論