加密特定行mysql

Posted

技术标签:

【中文标题】加密特定行mysql【英文标题】:Encrypt specific row mysql 【发布时间】:2021-09-09 11:43:58 【问题描述】:

是否有任何可能的方法来加密特定的 mysql 行?

| meta_id | post_id |    meta_key   | meta_value |
+---------+---------+---------------+------------+
|   0000  |   0000  |     1234      |    data    |
+---------+---------+---------------+------------+
|   1111  |   1111  |     0000      |    data    |

mysql中已经创建了列,但是数据没有加密。

是否可以加密特定行?例如,我只需要加密 meta_key 为 1234 的行的 meta_value。

提前致谢!

【问题讨论】:

你说的是单向加密还是别的什么? 该行存储用户个人代码,我需要它在数据库中不清晰可见,但是当特定任务需要代码时,我需要它是原始代码 所以可能AES_DECRYPT() & AES_ENCRYPT() - dev.mysql.com/doc/refman/8.0/en/encryption-functions.html 【参考方案1】:

编辑: 根据您的评论,您可以使用函数

FROM_BASE64(str)
TO_BASE64(str)

【讨论】:

每次插入新行时如何做有什么建议吗?我知道在发布之前编辑 php 以添加加密会更好,但我没有可能这样做。 插入查询只需使用MD5函数即可。 Using salted md5 for passwords is a bad idea

以上是关于加密特定行mysql的主要内容,如果未能解决你的问题,请参考以下文章

对称加密算法:长期有效的加密(上)

Node.js实现对mysql数据库的crud时报加密方式错误解决方案

MySQL中MyISAM与InnoDB的主要区别对比

为啥我的 AES 加密会引发 InvalidKeyException?

mysql加密连接三openssl 创建 SSL 证书和密钥

mysql8加密规则更改