龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

C#生成安全的加密的随机数

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
要生成用于密码安全的随机数,请先使用RandomNumberGenerator类,使用该类不会让人猜出你的随机数生成规律,也可用其派生类RNGCryptoServiceProvider类来生成随机数,例如: byte[] randomBytes = n

要生成用于密码安全的随机数,请先使用RandomNumberGenerator类,使用该类不会让人猜出你的随机数生成规律,也可用其派生类RNGCryptoServiceProvider类来生成随机数,例如:
            byte[] randomBytes = new byte[4];

            for (int i = 0; i < 100; i++)
            {
                RandomNumberGenerator rand;

                rand = RandomNumberGenerator.Create();
                rand.GetBytes(randomBytes);
                int randomInt = BitConverter.ToInt32(randomBytes, 0);

                Response.Write(randomInt .ToString("N") + "<br/>");
            }

            如果要创建安全的GUID请使用以下方法:

            byte[] randomBytes = new byte[16];

            for (int i = 0; i < 100; i++)
            {
                RandomNumberGenerator rand;

                rand = RandomNumberGenerator.Create();
                rand.GetBytes(randomBytes);

                Guid randomGuid = new Guid(randomBytes);

                Response.Write(randomGuid.ToString("N") + "<br/>");
            }

            但以上介绍的两个类比Random慢了至少8倍。

精彩图集

赞助商链接