피드로 돌아가기
Node.js 12.8.0 (Current)
Node.js BlogNode.js Blog
Backend

Node.js 12.8.0 릴리스로 crypto 모듈에 outputLength 옵션 추가 및 maxmem 범위를 32비트에서 53비트로 확장

Node.js 12.8.0 (Current)

2019년 8월 6일6intermediate

Context

Node.js는 지속적인 기능 확장과 보안 강화를 통해 프로덕션 환경의 다양한 요구사항을 충족해야 한다.

Technical Solution

  • crypto.createHash()에 outputLength 옵션 추가: 해시 함수의 출력 길이를 명시적으로 지정 가능
  • crypto.scrypt() maxmem 범위 확장: 32비트에서 53비트로 확대하여 더 큰 메모리 제한값 설정 가능
  • n-api에 per-instance 상태 관리 API 추가: 네이티브 애드온에서 인스턴스별 상태를 독립적으로 관리 가능
  • assert 모듈 레거시 모드 deprecation(DEP0089) 철회: 기존 코드의 호환성 유지
  • report에 네트워크 인터페이스 정보 포함: 시스템 진단 리포트의 상세도 향상
  • v8.getHeapCodeStatistics() 공개 API 내보내기: V8 힙 코드 통계 접근 가능
  • npm을 6.10.2로 업그레이드: 패키지 관리자 기능 향상
  • 루트 인증서 업데이트: 보안 인증서 정보 최신화

Key Takeaway

Node.js 메이저 버전 업데이트는 암호화 작업의 정밀도(outputLength), 메모리 제약 확장(maxmem 53비트), 네이티브 확장성(n-api 상태 관리)을 동시에 개선하여, 보안, 확장성, 진단 기능을 균형있게 강화한다.


Node.js

1

2.

8.0 이상을 사용하는 개발자는 crypto.scrypt()의 maxmem 범위 확장을 활용해 메모리 집약적인 해싱 작업에서 더 큰 메모리 예산을 할당할 수 있으며, n-api를 통한 네이티브 모듈 개발 시 per-instance 상태 관리 API를 활용하면 동시성 환경에서 상태 격리를 보다 안전하게 구현할 수 있다.

원문 읽기