`
king_tt
  • 浏览: 2125561 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一个实现MD5的简洁的java类

 
阅读更多
一个实现MD5的简洁的java类


作者:未知 来源:未知 加入时间:2005-9-26 人气:2
<script src="http://www.iyuanma.com/asd/as3_right1_info.js" language="JavaScript1.1" type="text/javascript"> </script>
<script src="http://www.iyuanma.com/asd/as8_right_300x300.js" language="JavaScript1.1" type="text/javascript"> </script>
由于消息摘要唯一性和不可逆性的特点,所以不失为一种简单的常用的加密手段,比如你可以用md5来加密你的应用中的用户口令。

  1. packagetest;
  2. importjava.security.MessageDigest;
  3. /**
  4. *<p>Title:</p>
  5. *<p>Description:</p>
  6. *<p>Copyright:Copyright(c)2003</p>
  7. *<p>Company:</p>
  8. *@authorunascribed
  9. *@version1.0
  10. */

  11. publicclassStringUtil{

  12. privatefinalstaticString[]hexDigits={
  13. "0","1","2","3","4","5","6","7",
  14. "8","9","a","b","c","d","e","f"};

  15. /**
  16. *转换字节数组为16进制字串
  17. *@paramb字节数组
  18. *@return16进制字串
  19. */

  20. publicstaticStringbyteArrayToHexString(byte[]b){
  21. StringBufferresultSb=newStringBuffer();
  22. for(inti=0;i<b.length;i++){
  23. resultSb.append(byteToHexString(b[i]));
  24. }
  25. returnresultSb.toString();
  26. }

  27. privatestaticStringbyteToHexString(byteb){
  28. intn=b;
  29. if(n<0)
  30. n=256+n;
  31. intd1=n/16;
  32. intd2=n%16;
  33. returnhexDigits[d1]+hexDigits[d2];
  34. }

  35. publicstaticStringMD5Encode(Stringorigin){
  36. StringresultString=null;

  37. try{
  38. resultString=newString(origin);
  39. MessageDigestmd=MessageDigest.getInstance("MD5");
  40. resultString=byteArrayToHexString(md.digest(resultString.getBytes()));
  41. }
  42. catch(Exceptionex){

  43. }
  44. returnresultString;
  45. }

  46. publicstaticvoidmain(String[]args){
  47. System.err.println(MD5Encode("a"));
  48. }
  49. }


在RFC1321中,给出了Testsuite用来检验你的实现是否正确:

MD5("")=d41d8cd98f00b204e9800998ecf8427e
MD5("a")=0cc175b9c0f1b6a831c399e269772661
MD5("abc")=900150983cd24fb0d6963f7d28e17f72
MD5("messagedigest")=f96b697d7cb7938d525a2f31aaf161d0
MD5("abcdefghijklmnopqrstuvwxyz")=c3fcd3d76192e4007dfb496cca67e13b
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics