Преобразование кода шифрования Coldfusion в C #
У меня есть страница Coldfusion, которая включает в себя раздел кода, который шифрует переменную следующим образом:
<cfset data64 = toBase64(key)>
<cfset encryptedID = encrypt(getUser.ID, data64, "BLOWFISH", "Base64")>
Мы переносим сайт на CMS на основе .NET, и мне нужно конвертировать эту страницу в C #, но у меня проблемы.
Я успешно преобразовал первую строку в это:
byte[] keyBytes = System.Text.Encoding.UTF8.GetBytes(key);
string keyBase64 = System.Convert.ToBase64String(keyBytes);
Я также добавил класс blowfish.cs, найденный вhttps://defuse.ca/blowfish.htm, но я немного не уверен, как использовать это с ключом (и хочу ли я использовать ECB, CBC или CTR). Я также не уверен, что аналог к использованию кодировки base64 в Coldfusion ... это то, что я сейчас пытаюсь, который не дает такие же результаты, как исходный код:
BlowFish b = new BlowFish(keyBase64);
byte[] idBytes = System.Text.Encoding.UTF8.GetBytes(thisUser["ID"].ToString());
byte[] idBytesEncrypted = b.Encrypt_ECB(idBytes);
string idBase64 = System.Convert.ToBase64String(idBytesEncrypted);
У меня нет большого опыта работы с шифрованием в целом, и код Coldfusion был создан с помощью другого разработчика, который не имеет опыта работы с C #. Любые предложения будут высоко ценится. Спасибо!