我想知道在数据库中存储文本并对其进行加密以防止其他人(管理员)读取的最佳方式。我允许用户编写(最多)纯文本段落,然后存储在数据库中。然后,此文本会在用户的帐户中显示回用户。这意味着一旦我加密数据并将其存储在数据库中,我就必须能够解密数据。 (我使用 PHP 创建了项目)
谢谢
最佳答案
AES_ENCRYPT
和 AES_DECRYPT
是加密/解密字符串的简单方法,无需您自己编写代码,在 MySql 5 或更高版本中可用。
请注意,AES_ENCRYPT
的输出是二进制字符串,需要存储在二进制数据类型的列中(很可能合适的是 BLOB
) 而不是通常用于文本数据的文本类型,例如 TEXT
或 VARCHAR
。
问题是您必须将加密 key 存储在某处,并且您必须以某种方式阻止管理员访问它。我不知道这是否可行(什么 的管理员?)
关于php - 加密文本以存储在 mysql 数据库中的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5514041/