【问题标题】:Using MySQL LIKE or = Operators to Select Encrypted Data使用 MySQL LIKE 或 = 运算符选择加密数据
【发布时间】:2015-04-12 00:42:00
【问题描述】:

我发现这个Rijndael 256-bit Encryption (CBC) Class 用于在我的 MySQL 服务器中加密/解密一些信息,它很有用,但我如何使用“LIKE”或“=”运算符选择这些加密数据?

例如:

'SELECT name from tblx WHERE name = "'.$crypt->encrypt('George').'"';

或:

'SELECT name from tblx WHERE name LIKE "'.$crypt->encrypt('Geo').'%"';

【问题讨论】:

  • 我不认为你可以,只要一个字符发生变化,哈希就会完全不同。用like不行,只能匹配完全相同的字符串

标签: php mysql encryption


【解决方案1】:

我建议通读this guide to searchable encryption (mirror)。它逐步解决了这个问题的许多不安全的解决方案(非随机加密),并最终建立了一个安全的解决方案。

安全解决方案是在一个名为 CipherSweet 的开源库中实现的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-27
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多