JSON to Java
Java DTO와 validation 중심으로 JSON 응답 모델을 정리합니다.
API Key
접두사, 그룹 구분자, 본문 길이를 조정해 다양한 API 키 포맷을 실험할 수 있습니다. 내부 키 정책을 정하기 전에 실제 길이와 가독성을 확인할 때 사용하세요.
API 키의 보안 강도는 prefix가 아니라 랜덤 본문에서 나옵니다. 문자 집합 크기를 C, 본문 길이를 L이라 하면 엔트로피는 L × log₂(C) 비트입니다. 대문자+소문자+숫자(62자) 조합에서 길이 32면 약 190비트로, 무차별 대입이 사실상 불가능한 수준입니다.
일반적인 권장 기준은 128비트 이상입니다. 62자 문자 집합 기준으로 본문 길이 22자 이상이면 충족하고, 혼동 문자를 제외해 문자 집합이 줄어도 길이를 2~3자 늘리면 같은 강도를 유지합니다.
Stripe의 sk_live_ / sk_test_, GitHub의 ghp_ 처럼 서비스와 환경을 식별하는 prefix는 단순한 가독성 장치가 아닙니다. 고유한 prefix가 있으면 GitHub secret scanning 같은 도구가 커밋에 섞여 들어간 키를 패턴으로 탐지해 자동 폐기할 수 있습니다.
운영 키와 테스트 키는 반드시 prefix로 구분하세요. 로그나 에러 메시지에 키 일부가 남았을 때도 어떤 환경의 키가 노출됐는지 즉시 판단할 수 있습니다.
Q. 생성된 API 키는 서버로 전송되나요? 아니요. 모든 키는 브라우저의 Web Crypto API(crypto.getRandomValues)로 로컬에서 생성되며, 어떤 값도 서버로 전송되지 않습니다.
Q. API 키 길이는 얼마가 적당한가요? 랜덤 본문 기준 22자(약 128비트) 이상을 권장합니다. 외부에 공개되는 키라면 32자(약 190비트)로 여유를 두는 편이 안전합니다.
Q. UUID를 API 키로 써도 되나요? UUID v4는 122비트 엔트로피라 하한선은 넘지만, prefix를 붙일 수 없고 형식이 널리 알려져 있어 secret scanning 탐지에 불리합니다. 전용 포맷의 랜덤 키를 권장합니다.
Q. 이 도구로 만든 키를 운영 환경에 써도 되나요? 생성 자체는 암호학적으로 안전한 난수를 사용하므로 가능합니다. 다만 운영 키는 발급·폐기 이력이 남는 서버 측 발급 체계를 갖추는 것이 좋고, 이 도구는 포맷 설계와 스테이징·테스트 용도에 가장 적합합니다.
같은 워크플로에서 바로 이어 쓸 수 있는 JSON2Class 도구를 연결해 두었습니다.
Java DTO와 validation 중심으로 JSON 응답 모델을 정리합니다.
nullable 규칙과 data class 구조를 빠르게 검토합니다.
프런트엔드 API 계약을 interface 형태로 정리합니다.
샘플 JSON을 정리한 뒤 변환기에 다시 넣어 타입 추론을 안정화합니다.