コード例 #1
0
        protected override byte[] GenerateValues(int count)
        {
            var bytes = new byte[count];

            _rng.NextBytes(bytes);
            return(bytes);
        }
コード例 #2
0
        protected override double[] GenerateValues(int count)
        {
            var values = new double[count];
            var bytes  = new byte[count * SizeOfT];

            _rng.NextBytes(bytes);
            Buffer.BlockCopy(bytes, 0, values, 0, bytes.Length);
            return(values);
        }
コード例 #3
0
        public void TestRandomEvidenceHashes()
        {
            var rng  = new PseudoRandom(0x262E5635);
            var data = new byte[512];

            using (var sha1 = new SHA1CryptoServiceProvider())
                using (var ms = new MemoryStream())
                {
                    var bf = new BinaryFormatter();
                    for (var n = 0; n < 10000; ++n)
                    {
                        rng.NextBytes(data);
                        var evidenceInfo = Convert.ToBase64String(data);

                        ms.SetLength(0);
                        bf.Serialize(ms, evidenceInfo);
                        var expectedHash = ToBase32(sha1.ComputeHash(ms.ToArray()));
                        var actualHash   = UserUpgradeStrategy.ComputeEvidenceHash(evidenceInfo);

                        Assert.AreEqual(expectedHash, actualHash, "n = {0}", n);
                    }
                }
        }