콘텐츠로 이동

SensitiveValueProtector — @gj-kit/toss-payments-postgresql

@gj-kit/toss-payments-postgresql에서 공개하는 interface입니다. package version 0.5.1의 release declaration을 그대로 표시합니다.

import { SensitiveValueProtector } from '@gj-kit/toss-payments-postgresql';
/**
* 앱이 소유하는 비동기 민감값 보호기.
*
* AES-GCM, envelope encryption, KMS 등을 선택할 수 있도록 crypto 의존성을 이 패키지에
* 들이지 않는다. `encrypt`는 평문과 다른, DB에 안전하게 저장 가능한 문자열을 반환해야
* 하고 `decrypt`는 같은 context에서만 원문을 복원해야 한다. 구현은 암호화 실패 메시지에
* 평문을 포함하지 않아야 한다.
*
* 이 패키지의 스토어가 넘기는 평문은 항상 well-formed UTF-16이다(JSON.stringify 출력 또는
* ASCII secret). 구현은 비페어 서로게이트를 조용히 바꿔 봉하지 말고 거부해야 한다 — 레퍼런스
* AES-256-GCM 보호기는 `TypeError`로 거부한다.
*/
interface SensitiveValueProtector {
encrypt(plaintext: string, context: SensitiveValueContext): Promise<string>;
decrypt(ciphertext: string, context: SensitiveValueContext): Promise<string>;
}

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/toss-payments-postgresql
  • 버전: 0.5.1
  • 공개 entry: .
  • 소스: GitHub

앱이 소유하는 비동기 민감값 보호기.

AES-GCM, envelope encryption, KMS 등을 선택할 수 있도록 crypto 의존성을 이 패키지에 들이지 않는다. encrypt는 평문과 다른, DB에 안전하게 저장 가능한 문자열을 반환해야 하고 decrypt는 같은 context에서만 원문을 복원해야 한다. 구현은 암호화 실패 메시지에 평문을 포함하지 않아야 한다.

이 패키지의 스토어가 넘기는 평문은 항상 well-formed UTF-16이다(JSON.stringify 출력 또는 ASCII secret). 구현은 비페어 서로게이트를 조용히 바꿔 봉하지 말고 거부해야 한다 — 레퍼런스 AES-256-GCM 보호기는 TypeError로 거부한다.