Как я могу кодировать в base64 поле прохода на Ruby on Rails? - PullRequest
0 голосов
/ 04 июля 2018

Я хочу отправить поле, которое я добавляю в форму, чтобы создать пользователя, использующего самоцвет devise. Это поле является паролем для доступа к SVN, поэтому я не хочу хранить его в виде простого текста и, очевидно, я не могу кодировать его с помощью только одностороннего алгоритма. Я думал о кодировании в base 64, но я не знаю, как я могу сделать это в поле формы или в разработке gem. Это мое поле формы:

 <%= password_field_tag :pass, type:"password", name:"user[XXXX_password]", id:"XXXX_password" %>

Могу ли я отправить поле с кодом Base64.encode () или аналогичным?

Есть предложения?

Спасибо

EDIT:

Я попытаюсь объяснить это лучше:

Я храню данные пользователя (mail, pass ...), но, кроме того, я добавил два поля: user и password of subversion.

Очевидно, что разработанный пароль зашифрован, но поле пароля Subversion не может быть зашифровано одним способом, потому что при передаче в Subversion он не распознает его.

1 Ответ

0 голосов
/ 04 июля 2018

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

Пароли должны НИКОГДА не храниться в виде простого текста в базе данных, вместо этого хранить хэш исходной информации.

Вы можете использовать PBKDF2 ( Ruby gem ) или base64.

Если вы используете devise, гем должен позаботиться о сохранении секрета для вас, если вы правильно настроили свою модель пользователя. Взгляните на это

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

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