홈>
쿼리 설명 :모든 사용자의 데이터를 암호화 된 형식으로 저장하는 데이터베이스 테이블이 있다고 가정하겠습니다. 관리자가 사용자 데이터를 검색 할 수있는 기능이 있습니다. 이제 문제는 관리자가 텍스트 상자에 일반 텍스트를 입력하고 관리자 입력에 따라 모든 텍스트 변경시 사용자 목록을 필터링해야한다는 것입니다. 한편, 암호화 된 형태로 많은 데이터가 있으며 관리자가 입력 한 일반 텍스트를 기준으로 필터링해야합니다.
지금까지 내가 찾은 솔루션은 처음에 모든 데이터를 해독 한 다음 필터를 적용하는 것입니다. 하지만 데이터베이스에 수백만 개의 레코드가 있으면 현재 방식이 쓸모없고 비효율적 인 것 같습니다.
아무도 효율적인 방법으로 암호화 된 데이터를 검색하도록 도와 줄 수 있습니까?
도움을 주시면 감사하겠습니다!
감사합니다.
- 답변 # 1
관련 자료
- javascript - React JS에서 동적 검색 필터를 만드는 방법은 무엇입니까?
- office365 - 이것이 '수정 된 날짜'로 O365 컨텐츠 검색 결과를 필터링하는 방법입니까?
- sql - 여러 조건 MySQL이있는 행을 필터링하는 방법
- sql - 다른 열의 날짜 사이의 MySQL 필터
- 검색 필터 C # WPF 수정
- vbscript - 공급자 오류 '8007203e'검색 필터를 인식 할 수 없습니다 Functionsasp, 669 행
- exchangewebservices - 달력 - 약속에 검색 필터 적용 (제목)
- odoo - 파트너 양식의 필드를 기반으로 판매 주문보기에 사용자 정의 필터/사용자 정의 검색 필드를 추가하는 방법
- 테이블에 저장된 타임 스탬프를 사용하는 MySQL 필터 데이터
- javascript - 필터 목록 검색 창을 재설정하는 방법은 무엇입니까?
- php - MySQL 값이 null이면 검색하지 않습니다
- sql - mysql - 일치하지 않는 json 구조 내에서 키 검색
- MySQL Select 쿼리는 기호 문자열을 검색 할 수 없습니다
- JSON 값을 필터링하는 Azure 검색 쿼리
- elasticsearch - elastic search v63 - 필터가있는 쿼리는 일치하는 항목을 반환하지 않습니다
- mysql에 연결 한 후 여러 검색 상자의 PHP 코드
- node.js - escape () 메소드를 사용하여 노드에서 mysql 전체 텍스트 검색을 사용하는 방법은 무엇입니까?
- angular - 드롭 다운에 * ngFor 검색 필터를 추가하는 방법?
- 정확히 일치하는 MySQL 검색
- spring - 두 항목 사이에 많은 관계가있는 검색 필터 구현 제안
관련 질문
- HTML PHP, while 루프로 만든 라디오 버튼의 값을 어떻게 설정합니까?
- php : 중첩 배열 구조의 특정 ID에 대해 전체 테이블/레code 가져오기
- PHP에서 mysql 구문 "Insert Into" 오류
- PHP에서 매분마다 새 레code를 mysql 행에 자동으로 보내는 방법
- php : 들어오는 Webhook 처리 및 DB에 삽입
- 하나의 PHP 파일에서 여러 쿼리 사용 이전 쿼리의 결과 집합
- php : 최근 3개월 이후 기록이 없는 데이터베이스에서 선택
- php : 연결 대신 $notes의 결과를 입력하는 $appended 노트 이유
- php : 한 테이블에서 다른 테이블로 데이터를 복사하고 laravel의 버튼 하나로 메인 테이블에서 데이터 삭제
- Sequelize mysql은 mysql 데이터베이스에서 시간대를 잘못 읽습니다.
와이즈 비즈 이것이 확장 가능한 솔루션이 아니라는 것이 맞습니다. 이 문제에 대해 자세히 알아 보려면 PHP 및 SQL을 사용하여 검색 가능한 암호화 된 데이터베이스 작성을 참조하십시오.
하고 싶은 것은 :
<올>인증 된 암호화를 사용하여 암호화 된 데이터를있는 그대로 저장합니다.
암호문과 함께 일반 텍스트의맹인 색인을 저장하십시오.
블라인드 인덱스는
가 될 수 있습니다민감한 값은
HMAC-SHA256(plaintext, separate_key)
를 사용해야합니다 또는sodium_crypto_pwhash()
대신공간을 절약하려면 블라인드 인덱스를 자르고이를 블룸 필터로 취급하십시오.
이 기능은 수동 및 능동 공격 모두에 저항하고 빠른 SELECT 쿼리에도 사용할 수있는 데이터 암호화입니다.
업데이트 (2019-03-27) :이것을 직접 구축하는 대신이 디자인을 구현하는 CipherSweet를 확인하십시오.
hash_pbkdf2()