Costa
Costa

Reputation: 4095

ICryptoTransform.TransformFinalBlock vs ICryptoTransform.TransformBlock

I am Learning cryptography in .net, why method 1 works while 2 fired argument exception. See Symmetric Algorithm exception for a complete code

1- ICryptoTransform.TransformFinalBlock

2- ICryptoTransform.TransformBlock

Thanks

Upvotes: 10

Views: 6784

Answers (1)

SLaks
SLaks

Reputation: 887489

You should be using a CryptoStream, which will automatically call the correct ICryptoTransform methods.

For example:

var stream = new MemoryStream();
using (var transform = symAlgo.CreateEncryptor())
using (var cryptoStream = new CryptoStream(stream, transform, CryptoStreamMode.Write))
using (var writer = new StreamWriter(cryptoStream))
    writer.Write(someString);

byte[] cipherBytes = stream.ToArray();

Upvotes: 15

Related Questions