このページのサンプルの C# コードをコピーして使用しました。C# はこの ColdFusion Decrypt 関数に相当しますが、うまくいきません。そのページの coldfusion 復号化サンプルが、私が持っているものと同じかどうかはわかりません。とにかく、私のコールドフュージョン コードは次のようになります。
暗号化するには:
<cfset strBase64Value = ToBase64(encrypt(strValue,"mykey")) />
解読するには:
<cfset strDecrypted = decrypt(ToString(toBinary(strBase64Value)),"mykey") />
strValue は開始する文字列、strDecrypted は返された復号化された文字列、strBase64Value は暗号化された文字列、「mykey」は文字列の暗号化/復号化に使用されるキー パスワードです。
私のC#コードは次のとおりです。
private string ConvertString(string string1, string string2)
{
byte[] key = ASCIIEncoding.ASCII.GetBytes(string1);
byte[] encryptedData = Convert.FromBase64String(string2);
Aes aes = Aes.Create();
aes.Mode = CipherMode.ECB;
using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, aes.CreateDecryptor(key, null), CryptoStreamMode.Write))
{
cs.Write(encryptedData, 0, encryptedData.Length);
}
byte[] decryptedData = ms.ToArray();
string clearText = Encoding.ASCII.GetString(decryptedData);
return clearText;
}
}
「指定されたキーは、このアルゴリズムに対して有効なサイズではありません。パラメータ名: キー」というエラーが表示されます。