C# .Net賬號加密算法.net 的membership給我們提供了賬戶乃至權(quán)限等配置。 我們有時要手動的去配置賬戶,,比如賬戶的增刪查改,。 眾所周知,.net的密碼存進(jìn)數(shù)據(jù)庫是經(jīng)過特殊加密的,, 這時候我們就要用到賬戶密碼的加密算法 代碼 /// <summary> /// 獲取密碼加密密鑰 /// </summary> /// <returns></returns> private string GetPassWordSalt() { byte[] data = new byte[0x10]; new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(data); return Convert.ToBase64String(data); } /// <summary> /// 哈希密碼加密算法 /// </summary> /// <param name="s">原始字符串</param> /// <param name="saltKey">salt加密字符串</param> /// <param name="hashName">加密格式</param> /// <returns></returns> public string EncryptToHashString(string s, string saltkey, string hashname) { byte[] src = System.Text.Encoding.Unicode.GetBytes(s); byte[] saltbuf = Convert.FromBase64String(saltkey); byte[] dst = new byte[saltbuf.Length + src.Length]; byte[] inArray = null; System.Buffer.BlockCopy(saltbuf, 0, dst, 0, saltbuf.Length); System.Buffer.BlockCopy(src, 0, dst, saltbuf.Length, src.Length); System.Security.Cryptography.HashAlgorithm algorithm = System.Security.Cryptography.HashAlgorithm.Create(hashname); inArray = algorithm.ComputeHash(dst); return Convert.ToBase64String(inArray); } |
|