示例#1
0
        public void CryptoShiftStreamReadAsync()
        {
            var test = GetTestBytes();

            var shiftmsin   = new MemoryStream(test);
            var shiftmsout  = new MemoryStream();
            var shiftstream = new CryptoShiftStream(shiftmsin, 256, CryptoStreamMode.Read, false, false);

            shiftstream.CopyToAsync(shiftmsout).GetAwaiter().GetResult();
            var result = shiftmsout.ToArray();

            Assert.IsTrue(result.Length > test.Length);

            var unshiftmsin  = new MemoryStream(result);
            var unshiftmsout = new MemoryStream();
            var unshift      = new CryptoShiftStream(unshiftmsin, 256, CryptoStreamMode.Read, true, false);

            unshift.CopyToAsync(unshiftmsout).GetAwaiter().GetResult();
            var unshiftresult = unshiftmsout.ToArray();

            Assert.AreEqual(test.Length, unshiftresult.Length);
            for (var i = 0; i < test.Length; i++)
            {
                Assert.AreEqual(test[i], unshiftresult[i]);
            }
        }
示例#2
0
        public void CryptoShiftStreamRead()
        {
            const int blockSize = 256;
            var       test      = GetTestBytes();

            var shiftmsin   = new MemoryStream(test);
            var shiftmsout  = new MemoryStream();
            var shiftstream = new CryptoShiftStream(shiftmsin, blockSize, CryptoStreamMode.Read, false, false);

            shiftstream.CopyTo(shiftmsout);
            var result = shiftmsout.ToArray();

            Assert.IsTrue(result.Length - blockSize / 8 == test.Length);

            var unshiftmsin  = new MemoryStream(result);
            var unshiftmsout = new MemoryStream();
            var unshift      = new CryptoShiftStream(unshiftmsin, blockSize, CryptoStreamMode.Read, true, false);

            unshift.CopyTo(unshiftmsout);
            var unshiftresult = unshiftmsout.ToArray();

            Assert.AreEqual(test.Length, unshiftresult.Length);
            for (var i = 0; i < test.Length; i++)
            {
                Assert.AreEqual(test[i], unshiftresult[i]);
            }
        }
示例#3
0
        public void CryptoShiftStreamWrite()
        {
            const int blockSize = 256;
            var       test      = GetTestBytes();

            var shiftmsout = new MemoryStream();
            var shift      = new CryptoShiftStream(shiftmsout, blockSize, CryptoStreamMode.Write, false, false);

            shift.Write(test, 0, test.Length);
            shiftmsout.Position = 0;
            var result = shiftmsout.ToArray();

            Assert.IsTrue(result.Length - blockSize / 8 == test.Length);

            var unshiftmsout = new MemoryStream();
            var unshift      = new CryptoShiftStream(unshiftmsout, blockSize, CryptoStreamMode.Write, true, false);

            unshift.Write(result, 0, result.Length);
            unshiftmsout.Position = 0;
            var unshiftresult = unshiftmsout.ToArray();

            Assert.AreEqual(test.Length, unshiftresult.Length);
            for (var i = 0; i < test.Length; i++)
            {
                Assert.AreEqual(test[i], unshiftresult[i]);
            }
        }
示例#4
0
        public void CryptoShiftStreamWriteAsync()
        {
            var test = GetTestBytes();

            var shiftmsout = new MemoryStream();
            var shift      = new CryptoShiftStream(shiftmsout, 256, CryptoStreamMode.Write, false, false);

            shift.WriteAsync(test, 0, test.Length).GetAwaiter().GetResult();
            shiftmsout.Position = 0;
            var result = shiftmsout.ToArray();

            Assert.IsTrue(result.Length > test.Length);

            var unshiftmsout = new MemoryStream();
            var unshift      = new CryptoShiftStream(unshiftmsout, 256, CryptoStreamMode.Write, true, false);

            unshift.WriteAsync(result, 0, result.Length).GetAwaiter().GetResult();
            unshiftmsout.Position = 0;
            var unshiftresult = unshiftmsout.ToArray();

            Assert.AreEqual(test.Length, unshiftresult.Length);
            for (var i = 0; i < test.Length; i++)
            {
                Assert.AreEqual(test[i], unshiftresult[i]);
            }
        }