반응형
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 |