
1. scrypt 알고리즘은 전력 효율적인 해시 함수를 설계하기 위해 설계되었으며, 고성능 컴퓨팅 장비를 사용한 브루트 포스 공격을 방지하기 위해 설계되었습니다. 또한, scrypt 알고리즘은 메모리 사용량이 높아, 메모리 공격을 방지하는 효과가 있습니다.
2. sodium_crypto_pwhash_scryptsalsa208sha256 함수는 다음 입력값을 필요로 합니다:
- password: 비밀번호를 나타내는 문자열
- salt: 비밀번호를 해싱할 때 사용하는 salt 값을 나타내는 문자열
- opslimit: 해싱을 위한 연산 수를 제한하는 값
- memlimit: 해싱을 위한 메모리 사용량을 제한하는 값
- output: 비밀번호를 해싱한 결과를 저장하는 버퍼
이 함수는 해싱된 비밀번호를 output 버퍼에 저장합니다.
3. 이 함수를 사용하여 비밀번호를 해싱할 때, 다음 파라미터를 설정해야 합니다:
- cost factor: 해싱을 위한 연산 수를 제한하는 opslimit의 값과 비례하는 값입니다. 일반적으로 2^14에서 2^18 사이의 값을 사용합니다.
- block size: 해싱을 위한 메모리 사용량을 제한하는 memlimit의 값과 비례하는 값입니다. 일반적으로 2^14에서 2^18 사이의 값을 사용합니다.
- parallelization: 해싱을 위한 병렬 처리 수를 제한하는 값입니다. 일반적으로 1에서 4 사이의 값을 사용합니다.
- salt: 비밀번호를 해싱할 때 사용하는 salt 값을 나타내는 문자열입니다. 일반적으로 16바이트의 랜덤 문자열을 사용합니다.
2025-04-19 06:15