Base64는 암호화가 아닙니다 — 언제 쓰는가
Base64는 바이너리를 ASCII 글자로 바꾸는 표현 방식이며, 키가 없어 누구나 되돌릴 수 있습니다. 쓰임새와 URL-safe 변형, 패딩, 크기가 4/3로 늘어나는 이유를 RFC 4648 기준으로 설명합니다.
도구를 쓰기 전에 알아 두면 좋은 표준·경계 사례·함정을 정리했습니다.
총 12개의 가이드
Base64는 바이너리를 ASCII 글자로 바꾸는 표현 방식이며, 키가 없어 누구나 되돌릴 수 있습니다. 쓰임새와 URL-safe 변형, 패딩, 크기가 4/3로 늘어나는 이유를 RFC 4648 기준으로 설명합니다.
같은 글도 UTF-8, UTF-16, EUC-KR(CP949), Shift_JIS(CP932)에서 바이트 수가 다릅니다. 한글·일본어·이모지의 바이트 수와 DB VARCHAR, 고정 길이 전문에서 길이를 맞추는 법을 정리했습니다.
GitHub Actions의 cron은 기본이 UTC이고 Kubernetes CronJob은 컨트롤러의 시간대를 따릅니다. 한국 시간으로 맞추는 방법과 5필드 문법, 일·요일을 함께 쓸 때의 OR 규칙을 정리했습니다.
JSON의 큰 정수 ID가 JavaScript에서 끝자리가 바뀌는 이유를 IEEE 754 배정밀도와 2⁵³ 한계로 설명하고, ID를 문자열로 주고받거나 BigInt로 읽어 값을 지키는 방법을 정리했습니다.
JSON 파싱 오류는 대부분 끝 쉼표, 작은따옴표, 따옴표 없는 키, 주석, 닫지 않은 괄호, NaN·undefined, 중복 키에서 나옵니다. 원인과 고치는 방법을 RFC 8259 기준으로 정리했습니다.
JSON을 엑셀에서 열려면 UTF-8 BOM이 붙은 CSV로 바꾸는 것이 가장 간단합니다. 한글이 깨지는 이유, 쉼표·따옴표·줄바꿈이 든 값을 감싸는 규칙, 앞자리 0이 사라지는 문제를 정리했습니다.
JWT 디코딩은 Base64URL을 풀어 읽는 것일 뿐 서명 검증이 아닙니다. 헤더·페이로드 구조, exp·iat·nbf 시각을 읽는 법, alg: none 토큰을 받으면 안 되는 이유를 RFC 7519 기준으로 정리했습니다.
URL에는 ASCII 일부만 쓸 수 있어 한글은 바이트로 바꾼 뒤 %XX로 적습니다. UTF-8과 EUC-KR의 결과가 다른 이유, encodeURIComponent와 encodeURI의 차이, 이중 인코딩 문제를 설명합니다.
MD5·SHA-1·SHA-256은 해시 길이와 충돌 안전성이 다릅니다. 파일 체크섬과 서명에는 무엇을 쓰는지, 비밀번호 저장에는 왜 SHA-256도 안 되고 bcrypt·Argon2 같은 전용 함수가 필요한지 정리했습니다.
자주 쓰는 정규식 패턴 10가지를 실행해 본 예시와 함께 정리하고, (a+)+ 같은 중첩 반복이 왜 역추적 폭주(ReDoS)를 일으키는지, 어떻게 고쳐 쓰는지 설명합니다.
Unix 시간은 1970년부터 센 초이고 시간대가 없습니다. 자릿수로 초와 밀리초를 구분하는 법, 한국 시간으로 바꿀 때의 함정, 32비트 정수가 넘치는 2038년 문제와 점검할 곳을 정리했습니다.
UUID v4는 전부 난수이고, UUID v7과 ULID는 앞부분이 시각이라 생성 순서대로 정렬됩니다. 구조와 DB 인덱스에 주는 영향, 생성 시각이 드러나는 문제를 비교해 어떤 ID를 쓸지 정리했습니다.