张庆旭

导航

MD5加密 java c#

        C#与java对字符串进行加密,往往会出现结果不一致的情况,经过搜集,下面的两个方法是对的,并且结果一致。

C#

        private string getMd5Str(string source){
            string result   =   "";
            MD5 m = new MD5CryptoServiceProvider();
            byte[] s = m.ComputeHash( UnicodeEncoding.UTF8.GetBytes( source ) );
            result= BitConverter.ToString( s ).Replace( "-" , "" );
            m.Clear();

            return result;
        }

 

java

    public static String getMD5Str(String str)
      {
        MessageDigest messageDigest=null;
        try
          {
            messageDigest=MessageDigest.getInstance("MD5");
            messageDigest.reset();
            messageDigest.update(str.getBytes("UTF-8"));
          }
        catch(NoSuchAlgorithmException e)
          {
            System.out.println("NoSuchAlgorithmException caught!");
            System.exit(-1);
          }
        catch(UnsupportedEncodingException e)
          {
            e.printStackTrace();
          }
        byte[] byteArray=messageDigest.digest();
        StringBuffer md5StrBuff=new StringBuffer();
        for(int i=0;i<byteArray.length;i++)
          {
            if(Integer.toHexString(0xFF&byteArray[i]).length()==1)
              md5StrBuff.append("0").append(Integer.toHexString(0xFF&byteArray[i]));
            else
              md5StrBuff.append(Integer.toHexString(0xFF&byteArray[i]));
          }
        return md5StrBuff.toString();
      }

 

 

 

posted on 2011-09-28 16:41  张庆旭  阅读(498)  评论(0编辑  收藏  举报