MD5 加密解密字符串


方法1: using System.Text; using System.Security.Cryptography; public string Hash(string toHash) { MD5CryptoServiceProvider crypto = new MD5CryptoServiceProvider(); byte[] bytes = Encoding.UTF7.GetBytes(toHash); bytes = crypto.ComputeHash(bytes); StringBuilder sb = new StringBuilder(); foreach (byte num in bytes) { sb.AppendFormat("{0:x2}", num); } return sb.ToString();        //32位
            return sb.ToString().Substring(8,16);        //16位
 } 方法2: 16位 public string GetMd5(string str) { System.Security.Cryptography.MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider(); string a=BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str)),4,8); a=a.Replace("-",""); return a; } 32位 public string GetMd5(string str) { System.Security.Cryptography.MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider(); string a=BitConverter.ToString(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str))); a=a.Replace("-",""); return a; }


Winform: public static string StringToMD5Hash(string inputString) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < encryptedBytes.Length; i++) { sb.AppendFormat("{0:x2}", encryptedBytes[i]); } return sb.ToString(); } Webform: public static string md5(string pwd) { string md5pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "MD5"); return md5pwd; } 
/** * 驗證輸入的密碼是否正確
     * md5不能解密,驗證一個字符串是不是跟另一個加密之前的字符串相等,只能把這個字符串使用相同的加密,再比較密文 * @param password 加密后的密碼 * @param inputString 輸入的字符串 * @return 驗證結果,TRUE:正確 FALSE:錯誤
*/ public static boolean validatePassword(String password, String inputString)
     {
if(password.equals(encodeByMD5(inputString)))
       {
return true; }
  
       else
       { return false; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM