小编szi*_*ael的帖子

在数据库中存储敏感数据,推荐

我正在寻找在数据库中存储敏感数据的最佳解决方案。我知道这是一个常见问题,我已经完成了我的功课(至少这是我的想法),但我想在我做出决定之前先在这里问一下。

假设:

  • 加密数据需要解密。我们正在谈论 SMTP 凭据,如用户名、密码、主机、端口 itp。

我在想两个概念:

  1. 在 passlib.totp 库的帮助下加密数据。为了使这些数据更安全一些,我会将密钥保存在单独的文件中。然后从我所见,我可以使用这个库使用我的密钥将数据解密为纯文本。

  2. 另一个概念是在 postgres 的帮助下在查询请求期间加密和解密数据:

    insert into demo(pw) values ( encrypt( 'data', 'key', 'aes') );
    
    Run Code Online (Sandbox Code Playgroud)

    和:

    decrypt(pw, 'key', 'aes'), 'utf-8')
    
    Run Code Online (Sandbox Code Playgroud)

    这里的密钥也将存储在单独的文件中。

所以我的问题是:

  1. 在代码或数据库中加密/解密数据的更好方法是什么?
  2. 有没有比 passlib.totp 更好(更强大)的库可以使用 -> 我没有使用该库的经验(我知道加密/解密不是存储密码的最安全方式 -> 密码应该是 hased 但我需要以纯文本形式使用用户 smtp 门)。

python database security passwords postgresql

5
推荐指数
1
解决办法
2111
查看次数

标签 统计

database ×1

passwords ×1

postgresql ×1

python ×1

security ×1