ASP.NET基础问题----使用随机字符串

来源:互联网 发布:windows 2008 snmp 编辑:程序博客网 时间:2024/05/23 21:32

有时候,我们需要产生一些随机字符串,这些字符串需要一定的长度,不能重复。

产生的思路一般有两个:

(1)使用随机数一个个的生成;

(2)使用Hash函数生成;

好在.net已经为我们准备好需要的东西。下面的这个方法就是生成一个随机字符串的:

 Shared Function RandomString() As String
        '''产生随机字符串
            Dim random1() As Byte = New Byte(32) {}

          Dim rng As New RNGCryptoServiceProvider
        rng.GetBytes(random1)  ' bytes in random are now random

              return  BitConverter.ToString(random1).Replace("-", "")

 End Function

这几行代码最重要的是使用了:RNGCryptoServiceProvider类

·这个类在msdn中讲得不是很具体"使用加密服务提供程序 (CSP) 提供的实现来实现加密随机数生成器 (RNG)。"它派生自RandomNumberGenerator 类,作用为"加密随机数生成器创建加密型强随机值"

·跟 .net加密类一样,它产生的数据是byte()数组类型,这个数据类型转化string到不是很方便,找了半天才找到BitConverter类,它专用于bit数据的转换,转换的结果还得去掉"-" 号才行。