Хранение служебной учетной записи с 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
,