Оригинал на GitHub
Вопрос
Требуется занести логин и пароль нового пользователя из формы регистрации в таблицу Пользователи.
Выполняю для строки пароля из формы код действия по переносу пароля в таблицу Пользователей:
=: insert(table: 'users'; field: 'login' = #name; field: 'pass' = $passenc; field: 'email' = #email; log: true)
passenc: strEncrypt(str: #password)
Для использования функции strEncrypt
создал в каталоге /home/totum/totum-mit
файл Crypto.key
. В качестве содержимого файла сделал строку "totum". Есть ли вообще разница, что внутри этого файла находится, или туда нужно что-то особым способом записывать? Новая запись в таблице Пользователи появляется, но новый пользователь не может войти в Тотум с этим паролем. При ручном внесении новой записи в таблицу Пользователи всё работает правильно. Что я делаю не так?
Ответ
Пароли пользователей в таблице Пользователи хранятся в виде хешей md5. При записи данных в таблицу users через set, строка переданная в поле pass
в нешифрованном виде, автоматически переводится в md5.
Правильный код-действия для добавления пользователя в таблицу users:
=: insert(table: 'users'; field: 'login' = #name; field: 'pass' = #password; field: 'email' = #email; log: true)