生活随笔
收集整理的這篇文章主要介紹了
Java的MD5加密和解密
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡單demo:
Java代碼 ?
import??java.security.*;??import??java.security.spec.*;????class??MD5_test?{???public???final???static??String?MD5(String?s)?{????char??hexDigits[]?=?{??'0'?,??'1'?,??'2'?,??'3'?,??'4'?,??'5'?,??'6'?,??'7'?,??'8'?,??'9'?,??????'a'?,??'b'?,??'c'?,??'d'?,??'e'?,??'f'??};????try??{?????byte?[]?strTemp?=?s.getBytes();?????MessageDigest?mdTemp?=?MessageDigest.getInstance("MD5"?);?????mdTemp.update(strTemp);?????byte?[]?md?=?mdTemp.digest();?????int??j?=?md.length;?????char??str[]?=??new???char?[j?*??2?];?????int??k?=??0?;?????for??(?int??i?=??0?;?i?<?j;?i++)?{??????byte??byte0?=?md[i];??????str[k++]?=?hexDigits[byte0?>>>?4??&??0xf?];??????str[k++]?=?hexDigits[byte0?&?0xf?];?????}?????return???new??String(str);????}?catch??(Exception?e)?{?????return???null?;????}???}?????public???static???void??main(String[]?args)?{??????System.out.print(MD5_test.MD5("b"?));???}??}?? [java]?view plain?copy?print? import?java.security.*;??import?java.security.spec.*;????class?MD5_test?{???public?final?static?String?MD5(String?s)?{????char?hexDigits[]?=?{?'0',?'1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9',??????'a',?'b',?'c',?'d',?'e',?'f'?};????try?{?????byte[]?strTemp?=?s.getBytes();?????MessageDigest?mdTemp?=?MessageDigest.getInstance("MD5");?????mdTemp.update(strTemp);?????byte[]?md?=?mdTemp.digest();?????int?j?=?md.length;?????char?str[]?=?new?char[j?*?2];?????int?k?=?0;?????for?(int?i?=?0;?i?<?j;?i++)?{??????byte?byte0?=?md[i];??????str[k++]?=?hexDigits[byte0?>>>?4?&?0xf];??????str[k++]?=?hexDigits[byte0?&?0xf];?????}?????return?new?String(str);????}?catch?(Exception?e)?{?????return?null;????}???}?????public?static?void?main(String[]?args)?{??????System.out.print(MD5_test.MD5("b"));???}??}?? ?
Java代碼 ?
import??java.security.MessageDigest;??????public???class??MD5andKL?{????public???static??String?MD5(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?KL(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??String?JM(String?inStr)?{????char?[]?a?=?inStr.toCharArray();????for??(?int??i?=??0?;?i?<?a.length;?i++)?{?????a[i]?=?(char?)?(a[i]?^??'t'?);????}????String?k?=?new??String(a);????return??k;???}???????public???static???void??main(String?args[])?{????String?s?=?new??String(?"a"?);????System.out.println("原始:"??+?s);????System.out.println("MD5后:"??+?MD5(s));????System.out.println("MD5后再加密:"??+?KL(MD5(s)));????System.out.println("解密為MD5后的:"??+?JM(KL(MD5(s))));???}??}?? [java]?view plain?copy?print? import?java.security.MessageDigest;??????public?class?MD5andKL?{????public?static?String?MD5(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?KL(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?String?JM(String?inStr)?{????char[]?a?=?inStr.toCharArray();????for?(int?i?=?0;?i?<?a.length;?i++)?{?????a[i]?=?(char)?(a[i]?^?'t');????}????String?k?=?new?String(a);????return?k;???}???????public?static?void?main(String?args[])?{????String?s?=?new?String("a");????System.out.println("原始:"?+?s);????System.out.println("MD5后:"?+?MD5(s));????System.out.println("MD5后再加密:"?+?KL(MD5(s)));????System.out.println("解密為MD5后的:"?+?JM(KL(MD5(s))));???}??}?? ?
總結
以上是生活随笔為你收集整理的Java的MD5加密和解密的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。