Ternyata ASP.NET telah menyediakan .NET FCL (Framework Class Library) untuk masalah enkripsi data. Jadi kita (programmer) tidak harus bersusah-susah untuk membuatnya sendiri, dan untuk yang merasa bahwa pembuatan sekuriti bukanlah hal yang sulit, maka dengan adanya FCL ini kita lebih dimudahkan, karena pembuat FCL ini adalah orang-orang terlatih dalam bidang ini, jadi mari kita serahkan saja pada mereka, dan kita tinggal menggunakannya \(^^)/
Disediakan 4 macam cipher oleh .NET FCL, yaitu DES, RC2, Rijndael and TripleDES.
Ini contoh sederhana, penggunaan Rijndael.
class CipherWrapper
{
  RijndaelManaged _cipher = null;
  public CipherWrapper()
  {
    _cipher = InitCipher();
  }
  public CipherWrapper(byte[] key)
  {
    _cipher = InitCipher(key);
  }
  public byte[] Key
  {
  get { return _cipher.Key;  }
  set { _cipher.Key = value; }
  }
  public byte[] EncryptMessage(byte[] plainText, out byte[] iv)
  {
    _cipher.GenerateIV();
    iv = _cipher.IV;
    ICryptoTransform transform = _cipher.CreateEncryptor();
    byte[] cipherText = transform.TransformFinalBlock(plainText, 0, plainText.Length);
    return cipherText;
  }
  public byte[] DecryptMessage(byte[] cipherText, byte[] iv)
  {
    _cipher.IV = iv;
    ICryptoTransform transform = _cipher.CreateDecryptor();
    byte[] plainText = transform.TransformFinalBlock(cipherText, 0, cipherText.Length);
    return plainText;
  }
  private RijndaelManaged InitCipher()
  {
    RijndaelManaged cipher = CreateCipher();
    cipher.GenerateKey();
    return cipher;
  }
  private RijndaelManaged InitCipher(byte[] key)
  {
    RijndaelManaged cipher = CreateCipher();
    cipher.Key = key;
    return cipher;
  }
  private RijndaelManaged CreateCipher()
  {
    RijndaelManaged cipher = new RijndaelManaged();
    cipher.KeySize  = 256;
    cipher.BlockSize = 256;
    cipher.Mode      = CipherMode.CBC;
    cipher.Padding  = PaddingMode.PKCS7;
    return cipher;
  }
}
Sayang sekali saya pribadi bukanlah orang yang langsung mengerti hanya dengan membaca artikel ini, tetapi mungkin rekan-rekan sekalian bisa lebih mengerti
http://www.developerfusion.com/show/4647/1/
----------------------
|Yohan W. (201114282)|
----------------------