사용이 권장되지 않는 crypto.pseudoRandomBytes API 사용

사용이 권장되지 않는 crypto.pseudoRandomBytes API 사용

설명

현재 지원되는 Node.js에서 crypto.pseudoRandomBytes는 crypto.randomBytes와 동일하게 암호학적으로 강한 난수를 생성합니다. 다만 두 API 사이에 차이가 없어 pseudoRandomBytes는 사용이 권장되지 않는 별칭입니다. 이 별칭을 사용한다는 사실만으로 난수가 약해지는 것은 아닙니다.

잠재적 영향

  • 사용이 권장되지 않는 API가 향후 Node.js 버전에서 제거되면 업그레이드 호환성이 떨어질 수 있습니다.
  • 같은 동작을 하는 두 API 이름이 혼재해 난수 생성 방식에 대한 오해와 유지보수 비용이 생길 수 있습니다.

해결 방법

  • 동일한 동작을 제공하는 crypto.randomBytes로 호출을 교체하세요.
  • 콜백 또는 반환값 처리 방식은 유지하고 불필요한 호환성 분기를 제거하세요.
  • 지원하는 Node.js 버전의 API 사용 중단 공지를 확인하세요.

예시

변경 전

javascript
const crypto = require('crypto');

// 사용이 권장되지 않는 별칭 사용
const randomValue = crypto.pseudoRandomBytes(16);
console.log(randomValue.toString('hex'));

변경 후

javascript
const crypto = require('crypto');

// 현재 API 이름 사용
const randomValue = crypto.randomBytes(16);
console.log(randomValue.toString('hex'));

설명:

  • 변경 전: crypto.pseudoRandomBytes는 강한 난수를 생성하지만 사용이 권장되지 않는 오래된 별칭입니다.
  • 변경 후: 같은 난수 생성 동작을 제공하는 현재 API 이름인 crypto.randomBytes를 사용합니다.

참조