반응형
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
반응형
'programing' 카테고리의 다른 글
| 64비트에서 32비트 부호 없는 곱셈이 정의되지 않은 동작을 유발합니까? (0) | 2023.06.29 |
|---|---|
| @동적 속성이 있는 TestPropertySource (0) | 2023.06.29 |
| 업데이트 색인 실행 취소 --작업 트리 건너뛰기 (0) | 2023.06.29 |
| 내 블록 크기 오라클 쿼리 (0) | 2023.06.29 |
| DataGrip에서 서버 출력을 설정하는 방법 (0) | 2023.06.29 |