public static String MD5(String plainText, String charset) throws Exception {
      
          MessageDigest md = MessageDigest.getInstance("MD5");
          md.update(plainText.getBytes(charset));
          byte b[] = md.digest();
          int i;
          StringBuffer buf = new StringBuffer("");
          for (int offset = 0; offset < b.length; offset++) {
             i = b[offset];
             if (i < 0)
                i += 256;
             if (i < 16)
                buf.append("0");
             buf.append(Integer.toHexString(i));
          }
          return buf.toString();
    }
 
    /**
     *  base64编码     
     */
    public static String base64(String str, String charset) throws Exception{
      return (new sun.misc.BASE64Encoder()).encode(str.getBytes(charset));
    }转成c#的。谢了。

解决方案 »

  1.   

    是不是发错地方了,搞不清java.
      

  2.   


    1.//欲进行md5加密的字符串  
    2.            string test = "123abc";  
    3.             
    4.            //获取加密服务  
    5.            System.Security.Cryptography.MD5CryptoServiceProvider md5CSP = new System.Security.Cryptography.MD5CryptoServiceProvider();  
    6.         
    7.            //获取要加密的字段,并转化为Byte[]数组  
    8.            byte[] testEncrypt = System.Text.Encoding.Unicode.GetBytes(test);  
    9.  
    10.            //加密Byte[]数组  
    11.            byte[] resultEncrypt = md5CSP.ComputeHash(testEncrypt);  
    12.  
    13.            //将加密后的数组转化为字段(普通加密)  
    14.            string testResult = System.Text.Encoding.Unicode.GetString(resultEncrypt);  
    15.  
    16.            //作为密码方式加密   
    17.            string Encrypt PWD = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(test, "MD5");