c#では、rijndaelmanagedアルゴリズムの暗号化と汚れた文字列の詳細な説明を使用します
この記事では、文字列を暗号化して復号化するために、c#でrijndaelmanagedアルゴリズムを使用する方法を詳細に紹介します。
暗号化プロセス
まず、命名スペースを導入する必要があります。次のコードフラグメントは、rijndaelmanagedアルゴリズムと複雑な文字列を使用する方法を示しています。
復号化プロセスSystem.Security.Cryptography
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | using System.Security.Cryptography;
public class Encryption
{
public string EncryptString(string plainText, string sharedSecret)
{
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(sharedSecret, _salt);
RijndaelManaged aesAlg = new RijndaelManaged();
aesAlg.Key = key.GetBytes(aesAlg.KeySize / 8);
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msEncrypt = new MemoryStream())
{
msEncrypt.Write(BitConverter.GetBytes(aesAlg.IV.Length), 0, sizeof(int));
msEncrypt.Write(aesAlg.IV, 0, aesAlg.IV.Length);
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(plainText);
}
}
return Convert.ToBase64String(msEncrypt.ToArray());
}
}
}
|
ログイン後にコピー
復号化と暗号化文字列は、暗号化されたときと同じ共有キーを使用する必要があります。次のコードフラグメントは、同じrijndaelmanagedアルゴリズム文字列を使用する方法を示しています。
セキュリティを強化するためのコードのバイト配列として定義する必要があることに注意してください。 完全なコードには、メソッドの実装も含める必要があります。 強力な共有キーを選択することはセキュリティに不可欠であることを忘れないでください。
以上がRijndaelManagedを使用してC#で文字列を暗号化および復号化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。