Hiya, 我正在寻找一种使用AES解密字符串的方法.我有加密密码,还有高级加密标准向量. 这是我进行密码学的第一步,因此,我们将不胜感激! 有人提供任何建议吗?
Hiya, I am looking for a way of decrypting a string with AES. I have the encryptedpassword and also the Advanced Encryption Standard Vector. This is my first step with cryptography so any help would be much appreciated! Anyone offer any advice?
推荐答案也许会对您有帮助: 在C#中实施AES加密 Hi, maybe it will help you: Implementing AES encryption in C # /// <summary> /// Encrypts a string /// </summary> ///Text to be encrypted ///Password to encrypt with ///Salt to encrypt with ///Can be either SHA1 or MD5 ///Number of iterations to do ///Needs to be 16 ASCII characters long ///Can be 128, 192, or 256 /// <returns>An encrypted string</returns> public static string Encrypt(string plainText, string password, string salt = "Kosher", string hashAlgorithm = "SHA1", int passwordIterations = 2, string initialVector = "OFRna73m*aze01xY", int keySize = 256) { if (string.IsNullOrEmpty(plainText)) return ""; byte[] initialVectorBytes = Encoding.ASCII.GetBytes(initialVector); byte[] saltValueBytes = Encoding.ASCII.GetBytes(salt); byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes (password, saltValueBytes, hashAlgorithm, passwordIterations); byte[] keyBytes = derivedPassword.GetBytes(keySize / 8); RijndaelManaged symmetricKey = new RijndaelManaged(); symmetricKey.Mode = CipherMode.CBC; byte[] cipherTextBytes = null; using (ICryptoTransform encryptor = symmetricKey.CreateEncryptor(keyBytes, initialVectorBytes)) { using (MemoryStream memStream = new MemoryStream()) { using (CryptoStream cryptoStream = new CryptoStream(memStream, encryptor, CryptoStreamMode.Write)) { cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length); cryptoStream.FlushFinalBlock(); cipherTextBytes = memStream.ToArray(); memStream.Close(); cryptoStream.Close(); } } } symmetricKey.Clear(); return Convert.ToBase64String(cipherTextBytes); }
C#中AES解密的实现
The implementation of AES decryption in C #
/// <summary> /// Decrypts a string /// </summary> ///Text to be decrypted ///Password to decrypt with ///Salt to decrypt with ///Can be either SHA1 or MD5 ///Number of iterations to do ///Needs to be 16 ASCII characters long ///Can be 128, 192, or 256 /// <returns>A decrypted string</returns> public static string Decrypt(string cipherText, string password, string salt = "Kosher", string hashAlgorithm = "SHA1", int passwordIterations = 2, string initialVector = "OFRna73m*aze01xY", int keySize = 256) { if (string.IsNullOrEmpty(cipherText)) return ""; byte[] initialVectorBytes = Encoding.ASCII.GetBytes(initialVector); byte[] saltValueBytes = Encoding.ASCII.GetBytes(salt); byte[] cipherTextBytes = Convert.FromBase64String(cipherText); PasswordDeriveBytes derivedPassword = new PasswordDeriveBytes(password, saltValueBytes, hashAlgorithm, passwordIterations); byte[] keyBytes = derivedPassword.GetBytes(keySize / 8); RijndaelManaged symmetricKey = new RijndaelManaged(); symmetricKey.Mode = CipherMode.CBC; byte[] plainTextBytes = new byte[cipherTextBytes.Length]; int byteCount = 0; using (ICryptoTransform decryptor = symmetricKey.CreateDecryptor(keyBytes, initialVectorBytes)) { using (MemoryStream memStream = new MemoryStream(cipherTextBytes)) { using (CryptoStream cryptoStream = new CryptoStream(memStream, decryptor, CryptoStreamMode.Read)) { byteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length); memStream.Close(); cryptoStream.Close(); } } } symmetricKey.Clear(); return Encoding.UTF8.GetString(plainTextBytes, 0, byteCount); }在这里您可以阅读有关它的信息: stackoverflow/questions/3226813/how-can-i-decrypt-a-string-using-aes-algorithm-in-c [ ^ ] stackoverflow/questions/202011/encrypt-decrypt-string-in-net [ ^ ] www.digizol/2009/10/java-encrypt- crypto-jce-salt.html [ ^ ] 问候, 亚历克斯 P/S.如果有帮助,请不要忘记投票:)
Here you can read about it: stackoverflow/questions/3226813/how-can-i-decrypt-a-string-using-aes-algorithm-in-c[^] stackoverflow/questions/202011/encrypt-decrypt-string-in-net[^] www.digizol/2009/10/java-encrypt-decrypt-jce-salt.html[^] Regards, Alex P/S. If it help you, do not forget to vote :)
我找到了一个示例此处 [ ^ ],这是Google上针对"c#aes"的第一个结果. I found a sample here[^], first result on Google for "c# aes".
更多推荐
使用AES进行字符串解密
发布评论