.NET连接池是否会影响RAND调用?
记录T-SQL RAND函数以继续从相同数据库连接的原始种子值开始的序列。
例如,如果你在SSMS中打开一个新窗口并运行select rand(7),rand(),rand()
,然后在一个单独的查询中(但同一个窗口,因此连接相同)运行select rand(),rand(),rand()
,注意所有六个值。 以相同的顺序重复这两个调用,看看生成了完全相同的值,证明原始种子值7决定后3个随机结果,即使它们作为单独的语句运行,因为它们在相同的连接。
我想知道这是否会影响.NET框架中看似独立的调用,因为连接池。 例如,如果3名拥有3个移动设备的黑客各自连续发起服务器调用以选择一个随机抽奖号码,并且.NET使用三个移动设备的相同连接,并且用户能够从这3个号码中识别整个序列(熟悉RAND的实现),那么他们是否可以预测随后可能为不同地区的其他用户生成的附加数字,因为RAND与连接池中的同一连接相关联? 或者,.NET是否重新设置了调用之间的连接,以某种方式实际上在没有指定RAND种子时复位RAND种子。
(我不使用RAND,我使用crypt_gen_random,所以这是一个纯粹的学术问题)。
链接地址: http://www.djcxy.com/p/68037.html