【发布时间】:2014-07-20 21:10:19
【问题描述】:
我一直在试图弄清楚 RNGCryptoServiceProvider.GetBytes 的实现来回答标题问题。
换句话说,GetBytes 方法是否会生成一个比特流/数组,然后将它们顺序写入字节数组,这样我就可以通过按顺序循环字节并查看每个字节的位数?
我检查了此处找到的源:rngcryptoserviceprovider.cs,但它显然调用了out to the CLR,我不知道如何获取它的源。
[DllImport(JitHelpers.QCall, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
[ResourceExposure(ResourceScope.None)]
private static extern void GetBytes(SafeProvHandle hProv, byte[] randomBytes, int count);
【问题讨论】:
-
出于兴趣,为什么对你很重要?
-
你想达到什么目的?
-
我不明白这个问题。 “重新创建”是什么意思?这里不涉及任何流。
-
没错,文档讨论了一系列(字节)值。
-
如果字节是随机且均匀分布的,那么每一位也应该是随机且均匀分布的。它们是如何生成的重要吗?