Hash/Mật mã

UUID Generator

Tạo UUID phiên bản 1, 3, 4, 5, 6 và 7 — ngẫu nhiên, dựa trên thời gian và dựa trên tên (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).

Bài viết về công cụ này: UUID: cách tạo ra định danh gần như không bao giờ trùng lặp

Câu hỏi thường gặp

Sự khác biệt giữa UUID v4 và các phiên bản khác là gì?

UUID v4 được tạo từ các số ngẫu nhiên hoặc giả ngẫu nhiên, khiến nó trở thành lựa chọn đơn giản nhất không phụ thuộc vào thời gian hay định danh phần cứng. Các phiên bản khác như v1 mã hóa dấu thời gian và địa chỉ MAC, hoặc v5 suy ra UUID một cách xác định từ không gian tên và tên.

Khả năng hai UUID được tạo trùng nhau là bao nhiêu?

Cực kỳ thấp. Một UUID v4 có 122 bit ngẫu nhiên, nên bạn sẽ cần tạo hàng tỷ UUID mỗi giây trong nhiều thế kỷ trước khi một sự trùng lặp trở nên khả dĩ về mặt thống kê.

Các UUID được tạo ở đây có được gửi đi đâu không?

Không. Việc tạo diễn ra hoàn toàn trong trình duyệt của bạn bằng nguồn ngẫu nhiên an toàn về mặt mật mã học — không có gì được gửi tới máy chủ.

UUID v7 là gì và tốt hơn v4 như thế nào đối với cơ sở dữ liệu?

UUID v7 nhúng dấu thời gian vào các bit đầu, nên giá trị tự nhiên được sắp xếp theo thời gian tạo — khác với v4 hoàn toàn ngẫu nhiên, vốn ảnh hưởng xấu đến hiệu năng chỉ mục cơ sở dữ liệu do thứ tự chèn bản ghi mới hỗn loạn.

Có thể dùng UUID làm token bí mật không?

Với UUID v4 thì có, vì nó được tạo bằng bộ sinh số ngẫu nhiên an toàn về mật mã học. Nhưng UUID v1 tiết lộ một phần thời gian tạo và địa chỉ MAC của thiết bị, nên không phù hợp ở những nơi cần tính không thể đoán trước.

Bài viết: Hash/Mật mã

Hash Generator: MD5, SHA-1 và SHA-256 khác nhau ở điểm nào

Vì sao MD5 vẫn được dùng để kiểm tra tính toàn vẹn của tệp, nhưng không dùng cho mật khẩu.

Checksum Verifier: cách kiểm tra một tệp có bị hỏng hay không

Vì sao checksum trùng khớp xác nhận tính toàn vẹn của một tệp, nhưng không xác nhận ai đã tạo ra nó.

HMAC: hash có khóa khác gì so với hash thông thường

Vì sao SHA-256 thông thường không bảo vệ khỏi việc giả mạo tin nhắn, nhưng HMAC thì có.

Bcrypt: vì sao mật khẩu được băm chậm chứ không nhanh

Vì sao SHA-256 nhanh là lựa chọn tồi cho mật khẩu, còn bcrypt chậm mới là lựa chọn đúng.

Trình tạo mật khẩu: điều gì thực sự làm cho mật khẩu mạnh

Vì sao mật khẩu dài gồm các từ trong từ điển mạnh hơn mật khẩu ngắn có ký hiệu và số.

AES: mã hóa đối xứng hoạt động như thế nào

Vì sao cùng một khóa vừa mã hóa vừa giải mã dữ liệu trong AES, và điều này khác gì với mã hóa bất đối xứng.

Argon2: vì sao thuật toán này giành chiến thắng cuộc thi băm mật khẩu

Argon2 phòng thủ trước các cuộc tấn công bằng GPU tốt hơn các thuật toán băm mật khẩu cũ như thế nào.

Scrypt: vì sao thuật toán cần nhiều bộ nhớ đến vậy

Vì sao scrypt cố ý đòi hỏi nhiều bộ nhớ để gây khó khăn cho việc dò trên thiết bị ASIC.

TOTP: mã dùng một lần trong ứng dụng xác thực hoạt động như thế nào

Vì sao mã trong Google Authenticator hoạt động không cần internet và chỉ đồng bộ với máy chủ qua thời gian.

PBKDF2: tiêu chuẩn kéo giãn khóa lâu đời nhất

Vì sao số lần lặp khuyến nghị của PBKDF2 tăng lên mỗi năm.

X.509: bên trong một chứng chỉ SSL có gì

Trình duyệt kiểm tra chính xác điều gì trong chứng chỉ của một trang web trước khi hiển thị ổ khóa xanh.

PGP: mã hóa bằng khóa công khai và khóa riêng hoạt động như thế nào

Vì sao có thể chia sẻ tự do khóa công khai PGP, nhưng không bao giờ chia sẻ khóa riêng.