public void CryptoBC()
        {
            var encData = aes.EncryptBC("1", CipherModeBC.ECB, CipherPaddingBC.PKCS7PADDING);
            var str     = aes.DecryptBC(encData, "AES/ECB/PKCS7");

            Assert.AreEqual("1", str);
        }
Beispiel #2
0
        /// <summary>
        /// AES解密(BouncyCastle模式)
        /// </summary>
        /// <param name="aes"></param>
        /// <param name="str">待解密的字符串(base64编码格式)</param>
        /// <param name="encoding">待解密的字符串编码格式</param>
        /// <param name="algorithm">解密模式、填充算法</param>
        /// <param name="key">密钥</param>
        /// <param name="iv">向量</param>
        /// <returns>解密字符串</returns>
        public static string DecryptBC(this System.Security.Cryptography.Aes aes,
                                       string str, Encoding encoding, string algorithm, byte[] key = null, byte[] iv = null)
        {
            var data   = Convert.FromBase64String(str);
            var result = aes.DecryptBC(data, algorithm, key, iv);

            return(encoding.GetString(result));
        }
Beispiel #3
0
        /// <summary>
        /// AES解密(BouncyCastle模式)
        /// </summary>
        /// <param name="aes"></param>
        /// <param name="str">待解密的字符串(base64编码格式)</param>
        /// <param name="encoding">待解密的字符串编码格式</param>
        /// <param name="mode">解密模式</param>
        /// <param name="padding">填充算法</param>
        /// <param name="key">密钥</param>
        /// <param name="iv">向量</param>
        /// <returns>解密字符串</returns>
        public static string DecryptBC(this System.Security.Cryptography.Aes aes,
                                       string str, Encoding encoding, CipherModeBC mode, CipherPaddingBC padding,
                                       byte[] key = null, byte[] iv = null)
        {
            var data   = Convert.FromBase64String(str);
            var result = aes.DecryptBC(data, mode, padding, key, iv);

            return(encoding.GetString(result));
        }
Beispiel #4
0
 /// <summary>
 /// AES解密(BouncyCastle模式)
 /// </summary>
 /// <param name="aes"></param>
 /// <param name="str">待解密的字符串(base64编码格式)</param>
 /// <param name="mode">解密模式</param>
 /// <param name="padding">填充算法</param>
 /// <param name="key">密钥</param>
 /// <param name="iv">向量</param>
 /// <returns>UTF8编码解密字符串</returns>
 public static string DecryptBC(this System.Security.Cryptography.Aes aes,
                                string str, CipherModeBC mode, CipherPaddingBC padding, byte[] key = null, byte[] iv = null)
 {
     return(aes.DecryptBC(str, Encoding.UTF8, mode, padding, key, iv));
 }
Beispiel #5
0
 /// <summary>
 /// AES解密(BouncyCastle模式)
 /// </summary>
 /// <param name="aes"></param>
 /// <param name="str">待解密的字符串(base64编码格式)</param>
 /// <param name="algorithm">解密模式、填充算法</param>
 /// <param name="key">密钥</param>
 /// <param name="iv">向量</param>
 /// <returns>UTF8编码解密字符串</returns>
 public static string DecryptBC(this System.Security.Cryptography.Aes aes,
                                string str, string algorithm, byte[] key = null, byte[] iv = null)
 {
     return(aes.DecryptBC(str, Encoding.UTF8, algorithm, key, iv));
 }