如何在.NET中加密字符串?我必须加密/解密Xml文件中的一些敏感信息?是的,我可以通过编写自己的自定义算法来做到这一点。我想知道在.NET中是否已经有一个内置的方法来执行此操作以及我始终需要注意的事情......这里有几个使用.NET框架加密和解密字符串的函数:publicstringEncryptString(stringplainText){//实例化一个新的RijndaelManaged对象进行字符串对称加密RijndaelManagedrijndaelCipher=newRijndaelManaged();//设置密钥和IVrijndaelCipher.Key=Convert.FromBase64String("ABC");123");//实例化一个包含加密字节的新MemoryStream对象处理数据并将其写入//内存流CryptoStreamcryptoStream=newCryptoStream(memoryStream,rijndaelEncryptor,CryptoStreamMode.Write);//将纯文本字符串转换为字节数组byte[]plainBytes=Encoding.ASCII.GetlaText();//加密输入的明文字符串cryptoStream.Write(plainBytes,0,plainBytes.Length);//完成加密过程cryptoStream.FlushFinalBlock();//将加密数据从MemoryStream转换为字节数组byte[]cipherBytes=memoryStream.ToArray();//关闭MemoryStream和CryptoStreammemoryStream.Close();cryptoStream.Close();//将加密的字节数组转换为base64编码的字符串stringcipherText=Convert.ToBase64String(cipherBytes,0,cipherBytes.Length);//以字符串形式返回加密后的数据returncipherText;}publicstringDecryptString(stringcipherText){//实例化一个新的RijndaelManaged对象进行字符串对称加密RijndaelManagedrijndaelCipher=newRijndaelManaged();//设置密钥和IVrijndaelCipher.Key=Convert.FromBase64String("ABC");rijndaelCipher.IV=Convert.FromBase64String("123");//实例化一个新的MemoryStream对象以包含加密的字节MemoryStreammemoryStream=newMemoryStream();//从我们的RijndaelManaged对象ICryptoTransform实例化一个新的加密器rijndaelDecryptor=rijndaelCipher.CreateDecryptor();//实例化一个新的CryptoStream对象来处理数据并将其写入//内存流CryptoStreamcryptoStream=newCryptoStream(memoryStream,rijndaelDecryptor,CryptoStreamMode.Write);//将包含解密的明文字符串plainText=String.Empty;try{//将密文字符串转换为字节数组byte[]cipherBytes=Convert.FromBase64String(cipherText);//解密输入的密文字符串cryptoStream.Write(cipherBytes,0,cipherBytes.Length);//完成解密过程cryptoStream.FlushFinalBlock();//将解密数据从MemoryStream转换为字节数组byte[]plainBytes=memoryStream.ToArray();//将加密的字节数组转换成base64编码的字符串plainText=Encoding.ASCII.GetString(plainBytes,0,plainBytes.长度);}finally{//关闭MemoryStream和CryptoStreammemoryStream.Close();cryptoStream.Close();}//以字符串形式返回加密数据returnplainText;对密钥和初始化向量进行编码:)您可能想深入了解System.Security.Cryptography命名空间我认为MSDN文章密码学概述、加密数据和解密数据可能是一个好的开始。以上是C#学习教程:Howtoencryptastringin.NET?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
