해시/암호화

UUID Generator

버전 1, 3, 4, 5, 6, 7 UUID 생성 — 무작위, 시간 기반, 이름 기반(name-based).

A UUID (Universally Unique Identifier) is a 128-bit identifier that's unique in practice without a central registry: two independent servers can generate one at the same moment and almost never collide. The versions differ in how they're generated.

Which version to pick

Common uses

Things to keep in mind

UUID v1 and v6 embed the generating device's MAC address — avoid them if that's an unwanted disclosure.

The format is 32 hexadecimal characters grouped with hyphens as 8-4-4-4-12 (e.g. 550e8400-e29b-41d4-a716-446655440000).

이 도구에 대한 아티클: UUID: 거의 절대 중복되지 않는 식별자는 어떻게 만들어지는가

자주 묻는 질문

UUID v4와 다른 버전의 차이는 무엇인가요?

v4는 대부분의 비트를 무작위로 채워 생성하는 반면, v1과 v6은 생성 시각과 노드 정보를 기반으로 하고 v3/v5는 네임스페이스와 이름을 해시해 생성합니다. 용도에 따라 시간 순서가 필요하면 v1/v6/v7을, 단순 무작위 식별자면 v4를 선택하면 됩니다.

UUID v4가 중복될 가능성이 있나요?

v4는 122비트의 무작위성을 가지므로 충돌 확률은 사실상 무시할 수 있는 수준입니다. 수십억 개를 생성해도 우연히 같은 값이 나올 확률은 천문학적으로 낮습니다.

UUID는 주로 어디에 쓰이나요?

데이터베이스 기본 키, 세션 토큰, 파일이나 객체의 고유 식별자 등 전역적으로 유일한 값이 필요한 곳에 널리 사용됩니다.

UUID v7이란 무엇이고 데이터베이스에서 v4보다 나은 점은 무엇인가요?

UUID v7은 앞쪽 비트에 타임스탬프를 담아 값이 생성 시간 순서로 자연스럽게 정렬됩니다 — 반면 완전히 무작위인 v4는 새 레코드가 무작위 위치에 삽입되어 데이터베이스 인덱스 성능에 나쁜 영향을 줍니다.

UUID를 비밀 토큰으로 사용해도 되나요?

UUID v4라면 가능합니다. 암호학적으로 안전한 난수 생성기로 생성되기 때문입니다. 하지만 UUID v1은 생성 시각과 장치의 MAC 주소 일부를 노출하므로, 예측 불가능성이 필요한 곳에는 적합하지 않습니다.

아티클: 해시/암호화

Hash Generator: MD5, SHA-1, SHA-256은 서로 어떻게 다른가

MD5가 아직도 파일 무결성 검증에는 쓰이지만 비밀번호에는 쓰이지 않는 이유.

Checksum Verifier: 파일이 손상되지 않았는지 확인하는 방법

일치하는 체크섬이 파일의 무결성은 확인해주지만 누가 만들었는지는 확인해주지 않는 이유.

HMAC: 키가 있는 해시는 일반 해시와 어떻게 다른가

일반 SHA-256이 메시지 위변조를 막지 못하지만 HMAC은 막을 수 있는 이유.

Bcrypt: 비밀번호를 빠르게가 아니라 느리게 해시하는 이유

빠른 SHA-256이 비밀번호에는 나쁜 선택이고, 느린 bcrypt가 올바른 선택인 이유.

비밀번호 생성기: 비밀번호를 진짜로 강하게 만드는 것

사전 단어로 만든 긴 비밀번호가 기호와 숫자가 든 짧은 비밀번호보다 강한 이유.

AES: 대칭 암호화는 어떻게 동작하는가

AES에서 같은 키가 데이터를 암호화하고 복호화하는 이유, 그리고 이것이 비대칭 암호화와 다른 점.

Argon2: 이 알고리즘이 비밀번호 해싱 경진대회에서 우승한 이유

Argon2가 오래된 비밀번호 해싱 알고리즘보다 GPU를 이용한 공격을 더 잘 방어하는 방법.

Scrypt: 이 알고리즘이 왜 그렇게 많은 메모리를 필요로 하는가

scrypt가 ASIC 장치에서의 크래킹을 어렵게 만들기 위해 일부러 많은 메모리를 요구하는 이유.

TOTP: 인증 앱의 일회용 코드는 어떻게 작동하는가

Google Authenticator의 코드가 인터넷 없이 작동하고 시간만으로 서버와 동기화되는 이유.

PBKDF2: 가장 오래된 키 스트레칭 표준

PBKDF2의 권장 반복 횟수가 매년 늘어나는 이유.

X.509: SSL 인증서 안에는 무엇이 들어있는가

초록색 자물쇠를 보여주기 전에 브라우저가 사이트 인증서에서 정확히 무엇을 확인하는지.

PGP: 공개 키와 개인 키 암호화는 어떻게 작동하는가

PGP 공개 키는 자유롭게 공유할 수 있지만 개인 키는 절대 공유해서는 안 되는 이유.