mysql - 如何解密mysql db中的所有行
问题描述
希望不是一个已经回答的问题,但我希望能够在解密时选择所有内容,类似于select * from
如下所示:
$sql = $conn->prepare("SELECT AES_DECRYPT(*, UNHEX('...");
$sql->execute(array("test2", "test2"));
但这似乎不起作用,会产生语法错误。还有其他方法吗?
解决方案
我希望能够在解密时选择所有内容,就像只是做
select * from
你不能那样做。AES_DECRYPT()
, 和姐妹函数AES_ENCRYPT()
, 对字符串而不是记录进行操作。
您确实需要为要解密的每一列重复函数调用:
select
aes_decrypt(col1, ...) as decrypted_col1,
aes_decrypt(col2, ...) as decrypted_col2,
...
from mytable
推荐阅读
- powershell - 通过 power shell 脚本从 Outlook 中删除基于主题的邮件
- javascript - React 本机状态未使用 animated.start() 中的钩子更新
- hyperledger-fabric - 在超级账本结构中使用 Solidity 智能合约
- sql - 如何从另一个表插入更新数据?
- java - Spring MVC:通过 REST 端点将字符串日期转换为日期
- android - 未解决参考
- r - geom_text 删除其他几何图形(geom_point 和 geom_line)
- linux - 无法从 uniprot 获取 wget,ssv3 错误是什么意思?
- sql - 在 utl_file.fopen 的 'filename' 属性中使用 select
- java - Java为每个输出输出不同的行号