를 C# DES
를 사용하여 데이터를 암호화하기 위해 노력하고 메신저하면 다음과 같은 코드 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);
}
그리고 메신저 오류 문자열이 문자를 짝수가있을 때 의미가 있습니다 System.FormatException: 'Invalid length for a Base-64 char array or string.'
를 받고있다.
홀수 문자로 데이터를 암호화/해독하는 것이 실제적입니까?
새 코드에서 DES를 사용하지 마십시오. 안전하지 않으며 AES를 능가합니다. – zaph
'_dataToDecrypt'를 포함하여 오류를 나타내는 샘플 입출력을 제공하십시오. – zaph