php - 加密文本以存储在 mysql 数据库中的最佳方法

标签 php mysql database encryption

我想知道在数据库中存储文本并对其进行加密以防止其他人(管理员)读取的最佳方式。我允许用户编写(最多)纯文本段落,然后存储在数据库中。然后,此文本会在用户的帐户中显示回用户。这意味着一旦我加密数据并将其存储在数据库中,我就必须能够解密数据。 (我使用 PHP 创建了项目)

谢谢

最佳答案

AES_ENCRYPTAES_DECRYPT 是加密/解密字符串的简单方法,无需您自己编写代码,在 MySql 5 或更高版本中可用。

请注意,AES_ENCRYPT 的输出是二进制字符串,需要存储在二进制数据类型的列中(很可能合适的是 BLOB ) 而不是通常用于文本数据的文本类型,例如 TEXTVARCHAR

问题是您必须将加密 key 存储在某处,并且您必须以某种方式阻止管理员访问它。我不知道这是否可行(什么 的管理员?)

关于php - 加密文本以存储在 mysql 数据库中的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5514041/

相关文章:

php - 创建动态规范 url

php - 如何在模态窗口中使用变量?

php - 在某个点后停止从数据库中获取数据

mysql - 是否有任何免费工具可以自动从现有的 html 表单创建数据库(首选 mysql)表?

database - SQL 授权在多个对象上执行

php - 我在 Swift 中对 PHP 的 Json 请求出错

php - 如何使用按键作为指示器?

mysql - has_many 关系的 finder_sql

mysql - 当列数与值数不匹配时插入

sql - 在sqlite中,如果表中不存在相同的列,如何在表中添加列