NodeCrypto 도움말

Cryptographic Hash

카테고리: 해시 & MAC & CRC · 노드 타입 ID: hash-digest

암호학적 해시를 계산한다 (SHA-2, SHA-3, BLAKE3)

개요

임의 길이의 입력 바이트 배열(Uint8Array)에 대해 표준 암호학적 단방향 해시 다이제스트를 계산한다.

NIST FIPS 180-4 SHA-2 계열(SHA-256, SHA-384, SHA-512), NIST FIPS 202 Keccak 스폰지 기반 SHA-3 계열(SHA3-256, SHA3-512), 그리고 고속 트리 해시 BLAKE3(256비트 기본 출력)를 모두 지원한다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
해시 알고리즘
algorithm
select
기본값: SHA-256
항상 노출 다이제스트 계산에 사용할 암호학적 해시 함수를 선택한다.
  • SHA-256: NIST FIPS 180-4 SHA-256(32바이트 / 256비트 출력, 64바이트 블록).
  • SHA-512: NIST FIPS 180-4 SHA-512(64바이트 / 512비트 출력, 128바이트 블록).
  • SHA-224: SHA-224
  • SHA-384: NIST FIPS 180-4 SHA-384(48바이트 / 384비트 출력, 128바이트 블록).
  • SHA-512/224: SHA-512/224 (NIST FIPS 180-4)
  • SHA-512/256: SHA-512/256 (NIST FIPS 180-4)
  • SHA3-224: SHA3-224 (NIST FIPS 202)
  • SHA3-256: NIST FIPS 202 Keccak 스폰지 기반 SHA3-256(32바이트 / 256비트 출력, 136바이트 레이트).
  • SHA3-384: SHA3-384 (NIST FIPS 202)
  • SHA3-512: NIST FIPS 202 Keccak 스폰지 기반 SHA3-512(64바이트 / 512비트 출력, 72바이트 레이트).
  • Keccak-256: Keccak-256 (이더리움)
  • Keccak-512: Keccak-512
  • SHAKE128: SHAKE128 (XOF)
  • SHAKE256: SHAKE256 (XOF)
  • BLAKE2b: BLAKE2b (64비트 플랫폼)
  • BLAKE2s: BLAKE2s (32비트 플랫폼)
  • BLAKE3: BLAKE3 암호학적 해시 함수(32바이트 / 256비트 출력).
  • RIPEMD-160: RIPEMD-160 (비트코인 / 레거시)
  • MD5: MD5 (레거시, RFC 1321)
  • SHA-1: SHA-1 (레거시, RFC 3174)

포트 입출력 명세

포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.

입력 포트

포트 성격: 고정 입력 포트 (총 1개).

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
Data data Bytes 필수 항상 노출 해시할 임의 길이의 입력 바이트 배열(Uint8Array)이다.

출력 포트

포트 성격: 고정 출력 포트 (총 1개).

포트 이름포트 ID데이터 타입노출 조건설명
Digest digest Bytes 항상 노출 계산된 고정 길이 해시 다이제스트 바이트 배열(Uint8Array: SHA-256/SHA3-256/BLAKE3는 32바이트, SHA-384는 48바이트, SHA-512/SHA3-512는 64바이트)이다.

오류 케이스

이 노드는 런타임 실패 케이스가 없으며(errorProfile: none), 타입이 맞는 모든 입력에 대해 항상 성공한다.

활용 예시

메시지의 SHA-256 다이제스트 계산하기

UTF-8 문자열을 바이트로 변환해 32바이트 SHA-256 해시를 구한다.

  1. String to Bytes의 출력을 Cryptographic Hash(SHA-256)의 Data에 연결한다.
  2. Digest 출력을 Bytes to Hex에 연결해 64자리 16진수 해시를 확인한다.