Encrypt and decrypt data in .NET (C# code example)
Posted by Max | Posted in programming | Posted on 09-08-2009
0
These two methods encrypt and decrypt byte array with given key value using DES encryption.
public static class Encryptor
{
public static byte[] Encrypt(byte[] data, string key) {
var stream = new MemoryStream();
var cryptic = new DESCryptoServiceProvider {
Key = Encoding.ASCII.GetBytes(key),
IV = Encoding.ASCII.GetBytes(key)
};
var crStream = new CryptoStream(stream,
cryptic.CreateEncryptor(),
CryptoStreamMode.Write
);
crStream.Write(data, 0, data.Length);
crStream.FlushFinalBlock();
return stream.ToArray();
}
public static byte[] Decrypt(byte[] data, string key) {
var stream = new MemoryStream();
stream.Write(data, 0, data.Length);
stream.Position = 0;
var cryptic = new DESCryptoServiceProvider {
Key = Encoding.ASCII.GetBytes(key),
IV = Encoding.ASCII.GetBytes(key)
};
var crStream = new CryptoStream(stream,
cryptic.CreateDecryptor(),
CryptoStreamMode.Read
);
var plainTextBytes = new byte[data.Length];
int decryptedByteCount = crStream.Read(plainTextBytes,
0, plainTextBytes.Length);
var result = new byte[decryptedByteCount];
for (int i=0; i < decryptedByteCount; i++)
result = plainTextBytes;
return result;
}
}
