我正在尝试创建一个简单的消息系统(PHP)页面,该页面使用MySQL表来存储条目。列的粗略的轮廓,我会在表中使用是:如何加密MySQL表中的特定列?
MSG_ID(主键,AUTO_INCREMENT)
USER_ID(外键指向谁创造了消息的用户)
时间(一个DATETIME条目提供MSG时间戳)
MSG(含有MSG一个VARCHAR)
accessable(只是一个int(1),0表示任何人,除非用户自己可以读取味精,和1意味着其他人可以阅读它)
什么我不知道是什么是最好的方式来加密msg字段,所以窥探的眼睛无法读取它(比方说,打开mysql CLI或phpMyAdmin,只读取存储在一行中的值)?
如果“可访问”设置为0,那么只有用户本人应该能够读取它(通过访问某个PHP页面),但如果设置为1,其他人都应该能够读取它。我不知道如何解决这个问题,所以任何帮助都非常感谢!
把钥匙放在触发器中是不是有点奇怪?如果有人进入数据库,他将能够看到密钥并解密数据... – Roey 2015-01-26 09:06:00
我同意@Roey传递键的触发器,将使所有无用的东西。 – 2016-02-03 06:56:42