随机盐生成示例

 

用户在注册账户时,通常在后端的业务部分会对用户的密码进行加密处理,大多采用 md5 + salt + 散列。盐是一定长度的随机乱码(字母、数字、特殊符号),每次都是随机生成的,所以可以写一个随机盐生成类来完成随机盐的生成。

随机盐生成:

/// <summary>
        /// 生成随机盐 random salt
        /// </summary>
        /// <param name="n">随机盐的长度 length of random salt</param>
        /// <returns></returns>
        private static string GenerateSalt(int n)
        {
            char[] chars = ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" +
                    "1234567890!@#$%^&*()_+").ToCharArray();
            StringBuilder sb = new StringBuilder();
            var random = new Random();
            for (int i = 0; i < n; i++)
            {
                //Random().Next()返回值为[0,n)
                char aChar = chars[random.Next(chars.Length)];
                sb.Append(aChar);
            }
            return sb.ToString();
        }

 

posted on 2022-07-13 10:35  积跬步---行千里  阅读(696)  评论(0编辑  收藏  举报