Я работаю над одним моим студенческим проектом над .Net4 и MVC3.
Проект почти завершен, за исключением некоторых функций безопасности, таких как информация о кодировании / декодировании, для сохранения в файле конфигурации, таких как строка подключения и т. Д.
Я хочу избежать очень сложного решения, и поэтому я ищу какую-то простую в использовании технику шифрования в .NET, в идеале, где я могу просто предоставить KEY и String, и это возвращает мне закодированный текст и наоборот к примеру Base64, приведенному ниже).
Я просмотрел в MSDN System.Security.Cryptography Документация по пространству имен в Интернете, но у него много вариантов для новичка, такого как я, я думаю.
Пожалуйста, предоставьте мне предложения и путь для достижения этой цели.
Спасибо.
Во время поиска я нашел простое решение Base64, которое я реализовал так:
static public string EncodeTo64(string toEncode)
{
byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);
string encodedValue = System.Convert.ToBase64String(toEncodeAsBytes);
return encodedValue;
}
static public string DecodeFrom64(string toDecode)
{
var toDecodeAsString = System.Convert.FromBase64String(toDecode);
string decodedValue = System.Text.ASCIIEncoding.ASCII.GetString(toDecodeAsString);
return decodedValue;
}
Работает нормально, но проблема в том, что, насколько я понял, это не очень надежно, поскольку метод статического кодирования (один без пользовательского KEY) может быть легко декодирован, и в сети доступно много онлайн-декодеров base 64. Я также пытался работать с AES, как описано здесь , но не удалось.