随笔 - 116  文章 - 4  评论 - 7  阅读 - 16万

随机盐生成示例

 

用户在注册账户时,通常在后端的业务部分会对用户的密码进行加密处理,大多采用 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   积跬步---行千里  阅读(715)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示