Я пытаюсь заставить работать шифрование в sharpdevelop с помощью IronPython для шифрования текста, но получаю следующую ошибку:
«Указанный ключ не является допустимым размером для этого алгоритма».
Я пробовал использовать все три кодировки, пробовал разный размер ключа, например 128, 256, 1024 и ничего.
Это код, который я использую:
import System.Security.Cryptography
from System.Text import UTF8Encoding, ASCIIEncoding, UnicodeEncoding
self.MD5 = System.Security.Cryptography.MD5CryptoServiceProvider()
self.DES = System.Security.Cryptography.DESCryptoServiceProvider()
self.UTF8Encode = UTF8Encoding()
self.ASCIIEncode = ASCIIEncoding()
self.Unicode = UnicodeEncoding()
def MD5Hash(self, value):
return self.MD5.ComputeHash(self.Unicode.GetBytes(value))
def Encrypt(self, StringInput, Key):
self.DES.Key = self.MD5Hash(Key)
DES.Mode = CipherMode.ECB()
buffer = self.UTF8Encode.GetBytes(StringInput)
return System.Convert.ToBase64String(self.DES.CreateEncryptor().TransformFinalBlock(buffer, 0, len(buffer)))
def Button1Click(self, sender, e):
self._textBox2.Text = self.Encrypt(self._textBox1.Text, 'keys')