public void CryptoBC() { var encData = aes.EncryptBC("1", CipherModeBC.ECB, CipherPaddingBC.PKCS7PADDING); var str = aes.DecryptBC(encData, "AES/ECB/PKCS7"); Assert.AreEqual("1", str); }
/// <summary> /// AES加密(BouncyCastle模式) /// </summary> /// <param name="aes"></param> /// <param name="str">待加密的字符串</param> /// <param name="encoding">待加密的字符串编码格式</param> /// <param name="algorithm">加密模式、填充算法</param> /// <param name="key">密钥</param> /// <param name="iv">向量</param> /// <returns>base64编码格式加密字符串</returns> public static string EncryptBC(this System.Security.Cryptography.Aes aes, string str, Encoding encoding, string algorithm, byte[] key = null, byte[] iv = null) { var data = encoding.GetBytes(str); var result = aes.EncryptBC(data, algorithm, key, iv); return(Convert.ToBase64String(result)); }
/// <summary> /// AES加密(BouncyCastle模式) /// </summary> /// <param name="aes"></param> /// <param name="str">待加密的字符串</param> /// <param name="encoding">待加密的字符串编码格式</param> /// <param name="mode">加密模式</param> /// <param name="padding">填充算法</param> /// <param name="key">密钥</param> /// <param name="iv">向量</param> /// <returns>base64编码格式加密字符串</returns> public static string EncryptBC(this System.Security.Cryptography.Aes aes, string str, Encoding encoding, CipherModeBC mode, CipherPaddingBC padding, byte[] key = null, byte[] iv = null) { var data = encoding.GetBytes(str); var result = aes.EncryptBC(data, mode, padding, key, iv); return(Convert.ToBase64String(result)); }
/// <summary> /// AES加密(BouncyCastle模式) /// </summary> /// <param name="aes"></param> /// <param name="str">待加密的字符串(UTF8编码)</param> /// <param name="algorithm">加密模式、填充算法</param> /// <param name="key">密钥</param> /// <param name="iv">向量</param> /// <returns>base64编码格式加密字符串</returns> public static string EncryptBC(this System.Security.Cryptography.Aes aes, string str, string algorithm, byte[] key = null, byte[] iv = null) { return(aes.EncryptBC(str, Encoding.UTF8, algorithm, key, iv)); }
/// <summary> /// AES加密(BouncyCastle模式) /// </summary> /// <param name="aes"></param> /// <param name="str">待加密的字符串(UTF8编码)</param> /// <param name="mode">加密模式</param> /// <param name="padding">填充算法</param> /// <param name="key">密钥</param> /// <param name="iv">向量</param> /// <returns>base64编码格式加密字符串</returns> public static string EncryptBC(this System.Security.Cryptography.Aes aes, string str, CipherModeBC mode, CipherPaddingBC padding, byte[] key = null, byte[] iv = null) { return(aes.EncryptBC(str, Encoding.UTF8, mode, padding, key, iv)); }