programing

AES 암호화 데이터를 통한 Mysql/MariaDB 검색

javamemo 2023. 6. 29. 19:40
반응형

AES 암호화 데이터를 통한 Mysql/MariaDB 검색

aes 암호화된 데이터가 들어 있는 테이블을 가지고 있고 다음이 포함된 select 문으로 검색하고 싶었습니다.LIKE그 안에. 이제 내가 먼저 해독해야 하기 때문에 나는 그것을 사용하고 있습니다.HAVING하지만 어떤 이유에서인지.LIKE대소문자를 구분합니다.저는 퍼터를 해봤습니다.LOWER()데이터를 중심으로 하지만 그것이 상황을 변화시키는 것 같지는 않습니다.

SELECT fd.id, AES_DECRYPT(fd.data, 'mysecretkey') AS data
FROM field_data fd
HAVING LOWER(data) LIKE '%test%'

대소문자를 구분하지 않는 데이터 정렬을 사용할 수 있습니다.

CREATE TABLE field_data (id int,data  BLOB)
INSERT INTO field_data
VALUES (1,AES_ENCRYPT('testmedata', UNHEX(SHA2('My secret passphrase',512))))
,(2,AES_ENCRYPT('TESTmedata', UNHEX(SHA2('My secret passphrase',512))));
SELECT fd.id, AES_DECRYPT(fd.data, UNHEX(SHA2('My secret passphrase',512))) AS decdata
FROM field_data fd
HAVING decdata  LIKE '%test%' COLLATE utf8mb4_general_ci
id | decdata-: | :---------1 | 테스트 데이터2 | TESTmedia 데이터

db<>여기로 이동

언급URL : https://stackoverflow.com/questions/66922026/mysql-mariadb-search-thru-aes-encrypted-data

반응형