Crypting/decrypting Django 中用于基本身份验证的用户密码

Crypting/decrypting user passwords used for basic auth in Django

我有一个 Django 应用程序。通过该应用程序,用户可以访问使用基本身份验证凭据的第三方 API。我正计划添加一个部分,用户可以在其中将其凭据添加到所述 Api,然后将其作为基本身份验证 header 存储到数据库中。但后来我脸红了,因为显然将它们编码为 base64 可以解码为纯文本。

为此,在 Django 中实现 encrypting/decrypting 机制的最佳方法是什么?在这种情况下,凭据将在保存到数据库时加密,并在从那里获取时加密。

你可以 Django encrypted fields 试试看。

另一种选择是 Django Searchable Encrypted Fields,它增加了一些功能。

可能还有更多...

一般来说,只要密码学和安全性相关,您就应该寻找最常用和经过审查的解决方案,不要自己发明安全性!

请记住,加密密钥的安全存储在这里非常重要。