Сильный и простой для реализации методов шифрования в .NET? - PullRequest
1 голос
/ 20 января 2012

Я работаю над одним моим студенческим проектом над .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, как описано здесь , но не удалось.

Ответы [ 2 ]

2 голосов
/ 20 января 2012

Для максимум простота взгляните на API защиты данных Windows ( DAPI ).Это обеспечит шифрование без , требующее от вас обработки ключей.

Вы можете легко использовать это с классом ProtectedData, предоставленным в .NET.

1 голос
/ 20 января 2012
...