加密长用户输入以使我无法查看数据库并立即看到每个人的写作的最佳方法是啥?
Posted
技术标签:
【中文标题】加密长用户输入以使我无法查看数据库并立即看到每个人的写作的最佳方法是啥?【英文标题】:What is the best way to encrypt long user input so that I cannot look in the database and immediately see everyone's writing?加密长用户输入以使我无法查看数据库并立即看到每个人的写作的最佳方法是什么? 【发布时间】:2021-08-05 21:56:31 【问题描述】:我正在创建一个网站,用户可以在其中以日记的形式记录他们的一天。现在,如果用户决定写一些远程个人的东西,我可以通过在数据库中查询他们的条目内容立即看到这一点。我想知道最好的方法是加密我从用户那里得到的这个日记条目,这样至少我自己需要更多的努力才能看到人们在写什么。我正在使用 Flask 和 SQLAlchemy。
【问题讨论】:
【参考方案1】:如果它与人类可读性有关,您可以只对其进行 base64 编码 - 因此对其进行混淆,而不是对其进行加密。这包含在 python 标准库中,这是一个示例:
https://www.base64encoder.io/python/
如果需要加密,您可以为用户分配一个私钥并使用其对应的公钥加密数据。这可能是矫枉过正,除非您不希望其他人能够阅读它,即使付出了很多努力。显然,您需要对除用户以外的任何人保密这些私钥,这会很复杂,如果用户丢失了密钥,您将无法帮助他们。
【讨论】:
感谢您的回复。是的,主要目的是让我不能只做 Entry.query.all() 并确切地看到每个人都写了什么,所以 base64 编码应该很好用! 很好。仅供参考(如果有人询问),base64 不被视为“加密”,而是“编码”,因为任何人都可以在不提供任何进一步信息的情况下取回原始文本。以上是关于加密长用户输入以使我无法查看数据库并立即看到每个人的写作的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章