Ejemplo n.º 1
0
 /// <summary>
 /// Decrypt binary data
 /// </summary>
 public byte[] DecryptData(EncryptedBlob blob, string private_asymmetric_key)
 {
     _rsa.FromXmlString(private_asymmetric_key);
     _aes.Key = _rsa.Decrypt(blob.EncryptedSymmetricKey, true);
     _aes.IV  = _rsa.Decrypt(blob.EncryptedSymmetricIV, true);
     using (ICryptoTransform decryptor = _aes.CreateDecryptor())
     {
         return(decryptor.TransformFinalBlock(blob.EncryptedData, 0, blob.EncryptedData.Length));
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Encrypt binary data
        /// </summary>
        public EncryptedBlob EncryptData(byte[] raw_binary_data, string public_asymmetric_key)
        {
            _aes.GenerateKey();
            _aes.GenerateIV();
            byte[] encrypted_data;
            using (ICryptoTransform encryptor = _aes.CreateEncryptor())
            {
                encrypted_data = encryptor.TransformFinalBlock(raw_binary_data, 0, raw_binary_data.Length);
            }
            EncryptedBlob blob = new EncryptedBlob();

            blob.EncryptedData = encrypted_data;
            _rsa.FromXmlString(public_asymmetric_key);
            blob.EncryptedSymmetricKey = _rsa.Encrypt(_aes.Key, true);
            blob.EncryptedSymmetricIV  = _rsa.Encrypt(_aes.IV, true);
            return(blob);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Decrypt a string
 /// </summary>
 public string DecryptString(EncryptedBlob blob, string private_asymmetric_key)
 {
     return(_unicode.GetString(DecryptData(blob, private_asymmetric_key)));
 }