我正在使用 InnoDB MySQL 引擎。
我在存储过程中进行加密,然后写入表。
它似乎会将低级更改记录到数据库中。该数据已经加密(如果需要的话)。
据我了解,有两种不同类型的日志可以记录对数据库的更改:
重做日志(ib_logfile 组),用于在发生崩溃时修复未完成的事务。
二进制日志,用于复制和从备份恢复。
(来源:http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ib_logfile)
谢谢。
编辑:
找到一个关于二进制日志的好链接:http://dev.mysql.com/doc/refman/5.6/en/binary-log.html
但我还是想知道重做日志。
最佳答案
也许吧。如果您的 MySQL 服务器设置为将所有语句记录到常规查询日志中,或者如果您启用了二进制日志记录但未设置为使用基于行的格式,则明文和 key 将记录在那里。
此外,在数据库中进行加密/解密可能会将您的数据暴露给可以修改存储过程的攻击者。这通常不是一个好主意;我会避免它。
关于mysql - 如果我在 MySQL 中(而不是在应用程序中)进行加密/解密,是否真的会记录明文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8014290/