Encryption
CRYPTDB 中的類 SQL 查詢不起作用
我已經下載並建構了 Cryptdb,它執行良好。
LIKE
加密數據庫上的大多數查詢都可以正常執行,但是帶有關鍵字的查詢會收到錯誤。mysql> select * from pptbl; +------+-------+ | id | name | +------+-------+ | 1 | ali | | 2 | arbab | | 3 | ava | | 4 | azim | +------+-------+ 4 rows in set (0.12 sec) mysql> select * from pptbl where name LIKE '%ali%'; ERROR 1105 (07000): Identifier not found: 'oINVALID' FILE: main/Analysis.cc LINE: 782
和相關的加密結果:
QUERY: select * from pptbl NEW QUERY: select `pbpcr`.`table_JMVMTSUOXQ`.`FETRAWCXAQoEq`, `pbpcr`.`table_JMVMTSUOXQ`.`cdb_saltEDYOFRHNTM`, `pbpcr`.`table_JMVMTSUOXQ`.`LGDQMZOLRAoEq` from `pbpcr`.`table_JMVMTSUOXQ` ENCRYPTED RESULTS: +--------------------+--------------------+--------------------+ |FETRAWCXAQoEq |cdb_saltEDYOFRHNTM |LGDQMZOLRAoEq | +--------------------+--------------------+--------------------+ |6564397473536819806 |13839409992861282053|?]???i?Q0?o~?????rqw??$\??3??c6?| |4201181374583641407 |5838989347444454725 |?$@ur?????????????[?^9??V S_5??^| |1649188046741762720 |9525321359430614429 |``???L??w|??f?C>?????4<????[????| |16881031136507617701|7294557497133907357 |p?r?my?[???E`?2cLE/?.???E??????~| +--------------------+--------------------+--------------------+
以及以下查詢的結果:
mysql> set @cryptdb='show'; +-----------+--------+--------+--------+--------+------+ | _database | _table | _field | _onion | _level | id | +-----------+--------+--------+--------+--------+------+ | pbpcr | pptbl | id | oEq | RND | 1082 | | pbpcr | pptbl | id | oOrder | RND | 1083 | | pbpcr | pptbl | id | oADD | HOM | 1084 | | pbpcr | pptbl | name | oEq | DET | 1085 | | pbpcr | pptbl | name | oOrder | RND | 1086 | +-----------+--------+--------+--------+--------+------+ 5 rows in set (0.43 sec)
以下是主要貢獻者的回复:
最新發布的 CryptDB 版本不再支持 LIKE 操作。隨意為 CryptDB 做出貢獻並對其進行擴展以支持此操作。您可以在程式碼中找到較舊的實現(已禁用),我們沒有機會將其移植到最新系統。
Cryptdb不支持LIKE查詢。您可以嘗試在查詢中使用而不是在查詢中使用。它支持update,in和not in 查詢,但不支持like。