だから、C#DES対称アルゴリズムDES C#。 Base64で
を使用してデータを暗号化しようとしているイムは、次のコード
static public string Encrypt(string _dataToEncrypt) {
SymmetricAlgorithm algorithm = DES.Create();
ICryptoTransform transform = algorithm.CreateEncryptor(key, iv);
byte[] inputbuffer = Encoding.Unicode.GetBytes(_dataToEncrypt);
byte[] outputBuffer = transform.TransformFinalBlock(inputbuffer, 0, inputbuffer.Length);
return Convert.ToBase64String(outputBuffer);
}
static public string Decrypt(string _dataToDecrypt) {
SymmetricAlgorithm algorithm = DES.Create();
ICryptoTransform transform = algorithm.CreateDecryptor(key, iv);
byte[] inputbuffer = Convert.FromBase64String(_dataToDecrypt); // Here is the problem.
byte[] outputBuffer = transform.TransformFinalBlock(inputbuffer, 0, inputbuffer.Length);
return Encoding.Unicode.GetString(outputBuffer);
}
とIMの文字列は、文字の数が偶数のとき、それが動作エラーにSystem.FormatException: 'Invalid length for a Base-64 char array or string.'
を取得しています。
奇数文字のデータを暗号化/復号化することは本当ですか?
新しいコードでDESを使用しないでください。これは安全ではなく、AESよりも優れています。 – zaph
'_dataToDecrypt'を含むエラーを示すサンプル入出力を提供します。 – zaph