md5加密篇(一)
/// <summary>/// 獲取文件的md5摘要/// </summary>/// <param name="sFile">文件流</param>/// <returns>MD5摘要結(jié)果</returns>public static string GetAbstractToMD5(Stream sFile){MD5 md5 = new MD5CryptoServiceProvider();byte[] result = md5.ComputeHash(sFile);StringBuilder sb = new StringBuilder(32);for (int i = 0; i < result.Length; i++){sb.Append(result[i].ToString("x").PadLeft(2, '0'));}return sb.ToString();}/// <summary>/// 獲取文件的md5摘要/// </summary>/// <param name="dataFile">文件流</param>/// <returns>MD5摘要結(jié)果</returns>public static string GetAbstractToMD5(byte[] dataFile){MD5 md5 = new MD5CryptoServiceProvider();byte[] result = md5.ComputeHash(dataFile);StringBuilder sb = new StringBuilder(32);for (int i = 0; i < result.Length; i++){sb.Append(result[i].ToString("x").PadLeft(2, '0'));}return sb.ToString();}/// <summary>/// 簽名字符串/// </summary>/// <param name="prestr">需要簽名的字符串</param>/// <param name="key">密鑰</param>/// <param name="_input_charset">編碼格式</param>/// <returns>簽名結(jié)果</returns>public static string Md5Sign(string prestr, string key, string _input_charset){StringBuilder sb = new StringBuilder(32);prestr = prestr + key;MD5 md5 = new MD5CryptoServiceProvider();byte[] t = md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(prestr));for (int i = 0; i < t.Length; i++){sb.Append(t[i].ToString("x").PadLeft(2, '0'));}return sb.ToString();}/// <summary>/// 驗(yàn)證簽名/// </summary>/// <param name="prestr">需要簽名的字符串</param>/// <param name="sign">簽名結(jié)果</param>/// <param name="key">密鑰</param>/// <param name="_input_charset">編碼格式</param>/// <returns>驗(yàn)證結(jié)果</returns>public static bool Md5Verify(string prestr, string sign, string key, string _input_charset){string mysign = Md5Sign(prestr, key, _input_charset);if (mysign == sign){return true;}else{return false;}}
?
轉(zhuǎn)載于:https://www.cnblogs.com/shy1766IT/p/5399029.html
總結(jié)
- 上一篇: Matplotlib 2016-04-1
- 下一篇: 苹果Xcode帮助文档阅读指南