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]); } }
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]); } }
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]); } }
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]); } }