NodeCrypto 도움말

Random Value

카테고리: 입출력 데이터 · 노드 타입 ID: input-random

선택한 타입(bytes/string/int/bool)의 암호학적으로 안전한 난수를 생성한다

개요

플랫폼의 암호학적으로 안전한 의사난수 생성기(CSPRNG, Web Crypto crypto.getRandomValues)를 사용하여 선택한 타입(Bytes, String, Int, Bool)의 난수를 생성한다.

새로 실행할 때마다 새로운 엔트로피를 샘플링하므로 일회용 키, 초기화 벡터(IV), AEAD Nonce, KDF 솔트, 챌린지 토큰 생성에 적합하다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
타입
type
select
기본값: bytes
항상 노출 단일 출력 포트 Random이 생성할 데이터 타입을 선택한다.
  • bytes: 지정한 바이트 길이의 암호학적 난수 Uint8Array.
  • string: 지정한 문자 길이의 무작위 영숫자 ASCII 문자열(A-Za-z0-9).
  • int: [intMin, intMax] 구간에서 균등하게 뽑은 무작위 정수.
  • bool: 동전 던지기처럼 50/50 확률로 뽑은 무작위 불리언(true 또는 false).
길이
length
number
기본값: 16
변수 참조 지원 ($var: int)
type가 bytes 또는 string 일 때 생성할 바이트 수(type = bytes일 때, 1~65536바이트) 또는 무작위 영숫자 문자 수(type = string일 때)를 지정한다.
최솟값
intMin
number
기본값: 0
변수 참조 지원 ($var: int)
type가 int 일 때 type = int일 때 무작위 정수의 최솟값(포함)이다.
최댓값
intMax
number
기본값: 100
변수 참조 지원 ($var: int)
type가 int 일 때 type = int일 때 무작위 정수의 최댓값(포함)이다.

포트 입출력 명세

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

입력 포트

이 노드는 입력 포트가 없다.

출력 포트

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

포트 이름포트 ID데이터 타입노출 조건설명
Value bytes Bytes 항상 노출 생성된 난수 값을 내보낸다(포트 레이블은 Random, 포트 ID는 bytes이며 런타임 데이터 타입은 선택한 타입을 따른다).

오류 케이스

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

활용 예시

AES-256-GCM용 무작위 키와 96비트 Nonce 생성하기

실행할 때마다 새로운 32바이트 키와 12바이트 Nonce를 생성하여 AEAD 암호화를 수행한다.

  1. 첫 번째 Random Value 노드를 배치하고 타입 = Bytes (Hex), 길이 = 32로 설정한 뒤 AES Encrypt의 Key에 연결한다.
  2. 두 번째 Random Value 노드를 배치하고 타입 = Bytes (Hex), 길이 = 12로 설정한 뒤 Nonce 포트(GCM 모드)에 연결한다.