더북(TheBook)

3.5.2 실습 문제 7: 이메일 주소 중복 검사

이번 실습 문제에서는 Gmail이나 Outlook 같은 이메일 서비스 사이트에 가입할 때 볼 수 있는 이메일 주소 중복 검사 프로그램을 만들어보겠습니다. 여기서는 블룸 필터를 이용하여 사용자가 입력한 이메일 주소가 이미 다른 사람이 사용하고 있는지 여부를 검사하겠습니다.

실습 문제를 해결하기 위해 다음 단계를 따라하세요.

  1. 해시 함수 개수와 블룸 크기를 지정할 수 있는 BloomFilter 클래스를 생성합니다.

  2. OpenSSL 라이브러리3의 MD5 알고리즘을 사용하여 주어진 이메일 주소로부터 해시 값을 생성합니다. MD5는 128비트(16바이트) 해싱 알고리즘입니다. MD5의 각 바이트를 해시 값으로 사용함으로써 해시 함수를 대체할 수 있습니다.

  3. 블룸 필터에 이메일 주소를 추가하려면 2단계에서 계산한 해시 값의 모든 비트를 true로 설정해야 합니다.

  4. 특정 이메일 주소를 검색하기 위해 2단계에서 계산한 해시 값의 모든 비트가 true로 설정되어 있는지를 확인해야 합니다.

 

 


3 역주 윈도에서는 https://slproweb.com/products/Win32OpenSSL.html에서 미리 빌드된 OpenSSL 라이브러리를 내려받아 설치할 수 있습니다. 리눅스는 https://www.openssl.org/source/에서 소스 코드를 내려받아 직접 빌드해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.