Расшифровать строку C # - PullRequest
       19

Расшифровать строку C #

3 голосов
/ 12 марта 2009

Моя компания принимает сайт только для членов от третьей стороны. Мы переписали сайт, и последний шаг - импортировать существующих пользователей. У нас есть база данных с пользователями и их паролями. Нам также дали «ключ» и сказали, что поле пароля зашифровано с помощью шифрования AES.

Мне нужно расшифровать пароли, а затем повторно зашифровать их в новой базе данных, используя ключ шифрования моей компании. Используя .Net, как я могу расшифровать пароли только с помощью ключа? Все примеры, которые я видел, требуют такой информации, как BlockSize, InitializationVector, KeySize и т. Д. У меня нет этой информации.

Спасибо

Ответы [ 4 ]

1 голос
/ 15 марта 2009

Почему бы не отправить каждому пользователю электронное письмо, содержащее уникальную ссылку, по которой он может щелкнуть, и перейти на страницу, где он может сбросить свой пароль?

В любом случае, пользователям следует регулярно менять свои пароли.

1 голос
/ 15 марта 2009

Это только кажется неправильным ... Пароли обычно не шифруются, они хешируются. В таком случае вы не сможете восстановить исходные пароли.

Есть ли способ посмотреть на оригинальный код, чтобы увидеть, как были сгенерированы пароли?

0 голосов
/ 12 марта 2009

Не зная IV, скорее всего, будет невозможно его расшифровать, тем более что вы имеете дело с паролями, которые, скорее всего, меньше размера блока (стандарт AES 128-битный).

Ваши возможности здесь довольно ограничены:

  • Спросите сторонний веб-сайт для IV
  • Если у вас есть доступ к их коду, вы, вероятно, найдете то же использование IV для шифрования всех паролей в коде (хотя это не очень хорошая практика), поскольку в будущем у них не будет возможности аутентифицировать пользователей без либо используя один и тот же снова и снова, либо сохраняя тот, который они использовали для определенного пользователя, где-то в базе данных
  • Попросите пользователей повторно зарегистрироваться на новой версии сайта и использовать некоторую форму хеширования вместо шифрования
0 голосов
/ 12 марта 2009

BlockSize и KeySize, с которыми вы можете играть (они кратны 8 IIRC).

Не уверен насчет вектора инициализации. Может быть все 0, но вам потребуется хотя бы 1 правильно расшифрованный пароль, чтобы убедиться в этом.

Удачи. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...