2015-12-17 18 views
-7

Здравствуйте я пытаюсь сделать простой шифровать, расшифровывать алгоритм и я цветовым шифровать код правильно, но описание кода не работаетКак расшифровать зашифрованные данные с использованием криптографии

static string Encript(string value) 
    { 
     using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider()) 
     { 
      UTF8Encoding utf8 = new UTF8Encoding(); 
      byte[] data = md5.ComputeHash(utf8.GetBytes(value)); 
      return Convert.ToBase64String(data); 
     } 
    } 

    static string Decript(string value) 
    { 
     using (TripleDESCryptoServiceProvider Tdecript = new TripleDESCryptoServiceProvider()) 
     { 

      UTF8Encoding utf8 = new UTF8Encoding(); 
      byte[] DataToDecrypt = Convert.FromBase64String(value); 
      return utf8.GetString(DataToDecrypt); 
     } 
    } 

this is show when i press decript button

+2

Это ошибка. – Thomas

+0

@Thomas извините, я исправлю это –

+0

Вы знаете, что хэширование является односторонней функцией? Вы не можете расшифровывать хэши. – cybermonkey

ответ

2

Прежде все, что вы используете Hash Function для «шифрования» ваших данных. Хеширование - это односторонняя функция. Таким образом, вы не сможете «расшифровать» свои данные.

Прежде всего: MD5 не является хорошим механизмом хэширования. Пожалуйста, используйте что-то вроде SHA256.

В-третьих: Чтобы зашифровать + расшифровать, я бы рекомендовал использовать AES256.

Вот пример того, как достичь этого:

AESManaged Microsoft

-1

Это не может ответить вам оригинальный вопрос , но не использовать MD5 - это считается неисправным. Я бы использовал sha-256 как минимум, если вы действительно хотите сохранить информацию, которую вы хешируете.

Чтобы ответить вам вопрос

Насколько мне известно, хэш MD5 используется функция один способ - это значит взять пароль и хэш его, вставить его в БД - когда пользователь возвращается вы не дешифровать данные и проверить соответствие двух значений, но вы создаете новый хеш данных, которые они дали вам, и сравните эти два.

Если вам нужна двухсторонняя служба шифрования, я бы посмотрел на AES.

+0

Это повторяет другой ответ. – cybermonkey

+0

Это потому, что это ответ на вопрос - на момент написания ответа на этот вопрос не было другого ответа. – monkeylumps

+0

Другой ответ был написан за девять минут до твоей. – cybermonkey

Смежные вопросы