Хранение служебной учетной записи с Flask-SQLAlchemy

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

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

Есть ли рекомендации о том, как подойти к этому, чтобы пароли или база данных были лучше защищены?

1 ответ

Решение

Вы можете зашифровать свои данные, прежде чем хранить их в своей базе данных. pycrypto является одной из библиотек, которые вы можете использовать.

Текст легко шифруется с помощью DES/ECB с помощью pycrypto. Ключ '10234567' составляет 8 байтов, а длина текста должна быть кратна 8 байтов. Мы выбрали "abcdefgh" в этом примере.

>>> from Crypto.Cipher import DES
>>> des = DES.new('01234567', DES.MODE_ECB)
>>> text = 'abcdefgh'
>>> cipher_text = des.encrypt(text)
>>> cipher_text
'\xec\xc2\x9e\xd9] a\xd0'
>>> des.decrypt(cipher_text)
'abcdefgh'

вот небольшая статья о pycrypto,

Другие вопросы по тегам