我正在学习Pydantic模块,试图通过一个玩具FastAPI Web 后端来采用它的特性/优点作为示例实现。
我选择使用PydanticSecretStr
来“隐藏”密码。我知道它不是很安全,而且我还在passlib
数据库存储中使用正确的密码加密(并使用 HTTPS 来确保传输安全)。
但这让我想到:如果没有真正的安全性SecretStr
,它的目的是什么?
我并不是说这听起来很煽情。Pydantic 并未声称 Secret Types 是安全的。他们提供的唯一声明是:
您可以使用
SecretStr
和SecretBytes
数据类型来存储您不希望在日志记录或回溯中可见的敏感信息。
但我不明白这一点:如何SecretStr
帮助隐藏日志记录或回溯?我不能确保根本不记录密码吗?
有人可以提供解释+示例来帮助我更好地理解它何时以及如何有用吗?我正在努力寻找它的真正目的......如果没有好处,那么最好只使用str
模型/模式而不是SecretStr
.