public string encryptPWD(string sPassword) 
    { 
        byte[] cResult= new byte[16];
        string sResult = ""; 
        try 
        { 
            MessageDigest md = MessageDigest.getInstance("MD5"); 
            md.update(Encoding.Default.GetBytes(sPassword)); 
            cResult = md.digest(); 
            for(int i = 0; i < cResult.Length; i++) 
            { 
                if(cResult[i] < 0) 
                    cResult[i] += 128;                string sTemp = cResult[i].ToString("x").toUpperCase(); 
                if(cResult[i] < 16) 
                    sTemp = "0" + sTemp; 
                sResult = sResult + sTemp; 
            }         } 
        catch(Exception e) 
        { 
            sResult = ""; 
        } 
        return sResult; 
    }
不知道行不行错了不要找我~~~

解决方案 »

  1.   

    C#就现成的MD5类,直接可以生成;
      

  2.   

    好像C#里没有MessageDigest 类吧
      

  3.   

    C#里有现成的MD5可以使用 public string isToMyPass(string Path)
            {
                string pass = "";
                MD5 md5 = MD5.Create();
                byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(Path));
                for (int i = 0; i < s.Length; i++)
                {
                    pass = pass + s[i].ToString("X");
                }
                return pass;
            }
      

  4.   

    是没有。这个应该程序中自定义的类吧~~~ c#中MD5加密是这样的:
     string pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strPwd + mySessionID, "MD5");
      

  5.   

    以上各位的方法我都试过了。。唉。。遗憾的是都不行。。这段java代码是反汇编过来的。不知道是不是代码不全还是对方有加入一些特殊性。
      

  6.   

    看方法名 似乎是将字符串加密成MD5,那也许你可以舍弃那段方法,直接使用c#提供的类进行加密好了~~只是建议