2014-02-13 20 views
0

Я буду хранить пароли пользователей в базе данных SQL Server, которые я хотел бы сохранить зашифрованными. В другом приложении, которое запускает скрипты, написанные в javascript, я хотел бы получить эту зашифрованную строку из базы данных и расшифровать строку и использовать значение.Шифрование базы данных - Расшифровка Javascript

Каковы возможности выполнения такого рабочего процесса? Могу ли я использовать PGP с обоих концов? Я слышал, что в целом javascript следует избегать по различным причинам безопасности, но в текущей ситуации это не проблема.

+1

Не храните пароли в зашифрованном виде; хэш их. Таким образом, нет возможности получить значение, но вы можете что-то сравнить с ним. Я не могу представить, почему вам нужны дешифрованные значения – Ian

+0

. Я должен указать, что наиболее распространенные хэши, такие как md5, могут быть разбиты в реальном времени, используя таблицы радуги на потребительском оборудовании ... Общие дистрибутивы достигают 13 символов, а большинство пользователей используйте более короткие. – dandavis

+1

Хотя (неудивительно для любого, у кого вообще есть опыт криптографии), все еще есть много вещей, которые могут быть ошибочными при хешировании. – delnan

ответ

0

Я решил это сам. Решение, с которым я пошел, - это .NET для шифрования строки с использованием AES, а затем дешифрования с использованием библиотеки CryptoJS в javascript.

Очень хороший пример .NET ecnryption: http://www.aspsnippets.com/Articles/AES-Encryption-Decryption-Cryptography-Tutorial-with-example-in-ASPNet-using-C-and-VBNet.aspx

Затем сохранить Я только зашифрованную строку, как в базе данных. Когда мне нужно было использовать пароль в другом приложении, использующем javascript, так как это скриптовый движок, я использовал CryptoJS для моих расшифровки.

Заработал секундочку, чтобы заставить их работать вместе, но после того, как изломы были обработаны, это было довольно хорошее решение для того, что я пытался сделать.

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