Javascript - лучший способ зашифровать данные с помощью пароля - PullRequest
4 голосов
/ 26 апреля 2011

Я создаю сервер, который может хранить куки в Интернете, который будет содержать настройки приложения.Сервер будет принимать любые данные, но я хочу зашифровать все настройки перед сохранением их в файле cookie и расшифровать их при чтении.Поэтому я могу хранить очень важные данные, такие как имена пользователей и пароли учетных записей, в файлах cookie, и сервер ничего не может с этим сделать.

Теперь у меня вопрос: как лучше всего зашифровать такие данные с помощью пароля в JavaScript нана стороне клиента?Что является наиболее безопасным?

Мне нужен код, который я могу встроить в свой сайт и использовать оттуда.

Ответы [ 3 ]

10 голосов
/ 26 апреля 2011

Я бы рекомендовал использовать шифрование AES в вашем коде JavaScript.Смотрите Javascript AES шифрование для библиотек и ссылок.Проблема, с которой вы столкнетесь, - это выбрать ключ, который доступен только на стороне клиента.Возможно, вы можете подсказать пользователю?Или объедините некоторую информацию о клиентской системе, которая не отправлена ​​на сервер.

3 голосов
/ 26 апреля 2011

Вы можете попробовать Vernam Cypher с паролем.

Обычно вы используете пароль в качестве ключа, а затем XOR строку для шифрования с помощью пароля. Это также можно изменить.

Вот страница википедии этого типа шифрования http://en.wikipedia.org/wiki/XOR_cipher

Пример кода

function encrypt(key, value) {
  var result="";
  for(i=0;i<value.length;++i)
  {
    result+=String.fromCharCode(key[i % key.length]^value.charCodeAt(i));
  }
  return result;
}

function decrypt()
{
 var result="";
  for(i=0;i<value.length;++i)
  {
    result+=String.fromCharCode(key[i % key.length]^value.charCodeAt(i));
  }
  return result;
}

Я не проверял это, но это, вероятно, близко. Вы заметите, что функции шифрования и дешифрования должны быть идентичны

1 голос
/ 26 апреля 2011

РЕДАКТИРОВАТЬ: неправильно понял ваш вопрос.Вместо этого проверьте этот вопрос:

Какой алгоритм шифрования лучше всего подходит для шифрования файлов cookie?

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