使用Flask-SQLAlchemy存储服务帐户

时间:2016-09-07 18:54:54

标签: python security password-encryption

我正在使用Flask和Flask-SQLAlchemy与本地数据库编写一个小型HipChat插件。我希望管理员能够为外部服务设置服务帐户,这意味着要集成。

由于需要存储服务帐户的用户名/密码,因此集成可以使用它们进行API调用,因此我无法使用不可逆的散列方法来存储密码。

是否有关于如何处理此问题的建议,以便更好地保护密码或数据库?

1 个答案:

答案 0 :(得分:0)

您可以在将数据存储到数据库之前加密数据。 pycrypto是您可以使用的库之一。

  

使用pycrypto使用DES / ECB加密文本很容易。钥匙   '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'

here是关于pycrypto的简短文章。