T

Text Machine

Công cụ văn bản mạnh mẽ, ngay trong trình duyệt của bạn

Trình tạo UUID

Tạo UUID (còn gọi là GUID) ngẫu nhiên theo chuẩn RFC-4122 phiên bản 4 ngay trong trình duyệt của bạn. Chọn số lượng cần thiết, bật/tắt chữ hoa hoặc dấu gạch nối, rồi sao chép kết quả ngay lập tức — không có gì được tải lên.

Tùy chọn

Số lượng

Chữ hoa

Dấu gạch nối

Cách sử dụng Trình tạo UUID

  1. 1

    Đặt số lượng

    Chọn số UUID bạn cần, từ 1 đến 100, bằng ô số lượng hoặc các nút cộng và trừ.

  2. 2

    Chọn định dạng

    Bật tắt Uppercase để dùng các chữ thập lục phân in hoa và bật tắt Hyphens để giữ hoặc loại bỏ bốn dấu gạch nối khỏi mỗi ID.

  3. 3

    Tạo các ID

    Nhấn Generate để tạo các UUID phiên bản 4 ngẫu nhiên về mặt mật mã, mỗi UUID được liệt kê trên một dòng riêng.

  4. 4

    Sao chép kết quả

    Dùng nút Copy để sao chép toàn bộ danh sách cùng lúc, sẵn sàng để dán vào mã, cơ sở dữ liệu, hoặc bảng tính.

Tìm Hiểu Sâu Về UUID: Các Phiên Bản, Va Chạm Và Khi Nào Nên Dùng

UUID là gì

Một UUID — Universally Unique Identifier (Định danh duy nhất toàn cục), được gọi là GUID trong thế giới Microsoft — là một giá trị 128-bit được thiết kế để duy nhất mà không cần bất kỳ cơ quan trung tâm nào cấp phát số. Dạng văn bản chuẩn của nó gồm 36 ký tự: 32 chữ số thập lục phân được chia thành năm nhóm bởi bốn dấu gạch nối, theo khuôn mẫu 8-4-4-4-12. Chính 128 bit đó mới là toàn bộ danh tính; các dấu gạch nối và kiểu chữ hoa thường chỉ là cách trình bày.

Lời hứa ở đây là tính phi tập trung. Bất kỳ máy nào, ở bất cứ đâu, đều có thể tạo ra một định danh mà gần như không có khả năng trùng với một định danh được tạo ở nơi khác, và đó là lý do UUID là khóa mặc định khi các hệ thống độc lập phải sinh ra những ID mà về sau được hợp nhất lại mà không cần phối hợp.

Phiên bản 4: ngẫu nhiên theo thiết kế

Bộ tạo này sinh ra các UUID phiên bản 4, loại được dùng phổ biến nhất. Một UUID v4 gần như hoàn toàn ngẫu nhiên: trong số 128 bit, một số ít được cố định để đánh dấu phiên bản và biến thể, để lại 122 bit ngẫu nhiên thuần túy. Bạn có thể nhận ra một giá trị v4 vì chữ số mở đầu nhóm thứ ba luôn là 4, còn chữ số mở đầu nhóm thứ tư là một trong các giá trị 8, 9, a, hoặc b.

Vì không có dấu thời gian hay định danh máy nào được nhúng vào, một UUID v4 không để lộ bất cứ điều gì về thời điểm hay nơi nó được tạo ra. Tính riêng tư đó là một lợi thế thực sự so với các sơ đồ mã hóa một địa chỉ MAC hay một chuỗi tuần tự, và đó là một phần lý do v4 trở thành lựa chọn mặc định hằng ngày cho khóa, token, và định danh bản ghi.

Tính ngẫu nhiên được lấy từ đâu

Chất lượng của nguồn ngẫu nhiên là tất cả đối với một UUID ngẫu nhiên. Công cụ này dùng bộ tạo an toàn về mặt mật mã được tích hợp sẵn trong trình duyệt của bạn — cùng một nguyên thủy được dùng cho các giá trị nhạy cảm về bảo mật — thay vì một hàm giả ngẫu nhiên tuy nhanh nhưng dễ đoán. Điều đó quan trọng vì các ID được sinh ra từ một bộ tạo yếu có thể bị đoán hoặc liệt kê tuần tự, biến một định danh lẽ ra phải không thể đoán được thành một lỗ hổng bảo mật.

Với một nguồn mật mã đúng đắn, 122 bit ngẫu nhiên thực sự không thể đoán trước, nên kết quả phù hợp cho các khóa cơ sở dữ liệu trong production, khóa bảo đảm tính bất biến (idempotency), và các mục đích tương tự. Tuy vậy, cũng đáng nhấn mạnh ranh giới này: một UUID là một định danh, không phải một bí mật. Hãy coi nó là đủ khó đoán để khó bị liệt kê tuần tự, nhưng đừng chỉ dựa vào riêng nó để làm token cấp quyền.

Vì sao va chạm không phải mối lo thực tế

Không gian của các UUID v4 lớn đến mức thiên văn — 2 mũ 122, tức khoảng 5.3 nhân 10 mũ 36 giá trị khác nhau. Để dễ hình dung, bạn sẽ phải tạo ra hàng tỷ UUID mỗi giây trong nhiều thập kỷ trước khi xác suất xảy ra dù chỉ một va chạm tăng lên tới một mức có thể đo được. Đối với mọi ứng dụng thực tế, khả năng hai UUID v4 được tạo ngẫu nhiên trùng khớp nhau nhỏ đến mức được coi là bằng không.

Đây là lý do bạn có thể tạo các ID một cách độc lập trên hàng nghìn máy khách và máy chủ rồi cứ thế giả định rằng chúng sẽ không va chạm, mà không cần một vòng kiểm tra tính duy nhất tới một dịch vụ trung tâm. Sự cực kỳ khó xảy ra chính là tính năng: nó mang lại cho bạn khả năng sinh ID không cần phối hợp, với cái giá là một thứ mà bạn sẽ không bao giờ quan sát thấy trong thực tế.

Phiên bản 1, phiên bản 7, và khả năng sắp xếp

Không phải tất cả UUID đều ngẫu nhiên. Phiên bản 1 lấy giá trị của nó từ thời gian hiện tại và địa chỉ mạng của máy tạo ra nó, điều này bảo đảm tính duy nhất nhưng lại nung sẵn một dấu thời gian và một định danh phần cứng vào trong ID — một mối lo về quyền riêng tư và rò rỉ thông tin đã đẩy nhiều nhóm hướng tới v4. Phiên bản 7 là câu trả lời hiện đại cho một bài toán khác: nó đặt một dấu thời gian theo mili-giây vào các bit cao rồi mới đến các bit ngẫu nhiên.

Cách bố trí đó khiến các giá trị v7 sắp xếp gần đúng theo thứ tự tạo khi ở dạng chuỗi văn bản thuần, một lợi ích thực sự cho các chỉ mục cơ sở dữ liệu. Các khóa v4 ngẫu nhiên thuần túy nằm rải rác khắp một chỉ mục và có thể làm giảm hiệu năng chèn trên một số bộ máy, trong khi các khóa được sắp xếp theo thời gian giữ cho các bản ghi mới chèn vào nằm gần nhau. Nếu bạn cần câu chuyện duy nhất toàn cục của một UUID nhưng đồng thời muốn thứ tự theo thời gian, v7 là thứ nên chọn; còn nếu bạn cụ thể muốn không có thời gian nhúng vào, v4 vẫn là lựa chọn đúng.

UUID so với ID tự tăng

Giải pháp thay thế kinh điển là một số nguyên tự tăng của cơ sở dữ liệu. Các số nguyên tuần tự thì nhỏ gọn, có thứ tự tự nhiên, và hiệu quả một cách hiển nhiên khi làm khóa chính, nhưng chúng đòi hỏi một nguồn chân lý duy nhất để cấp phát con số tiếp theo và chúng để lộ thông tin: một ID tuần tự tiết lộ xấp xỉ có bao nhiêu bản ghi đang tồn tại và cho phép kẻ tấn công đoán các ID lân cận bằng cách cộng thêm một. UUID giải quyết cả hai vấn đề — không có bộ đếm trung tâm, và không có chuỗi nào có thể liệt kê tuần tự.

Sự đánh đổi cũng diễn ra theo chiều ngược lại. Một UUID nặng 16 byte so với một số nguyên 4 hoặc 8 byte, dạng văn bản của nó cồng kềnh trong các URL và nhật ký, và một UUID ngẫu nhiên thì không thể sắp xếp được. Một quy tắc chung hợp lý: dùng UUID khi các ID phải được tạo bởi máy khách hoặc các dịch vụ phân tán, phải hợp nhất giữa nhiều hệ thống, hoặc không được phép đoán ra; còn hãy bám theo số nguyên tự tăng cho một cơ sở dữ liệu đơn lẻ, khép kín, nơi tính nhỏ gọn và thứ tự là quan trọng nhất.

Định dạng và tạo hàng loạt

Dạng chuẩn là chữ thập lục phân viết thường kèm dấu gạch nối, và hầu hết các hệ thống đều chấp nhận nó, nhưng quy ước thì khác nhau. Công cụ này cho phép bạn chuyển sang chữ in hoa, vốn được một số nền tảng và các công cụ Microsoft cũ ưa dùng, và loại bỏ các dấu gạch nối để có một dạng 32 ký tự nhỏ gọn, tiện lợi trong các URL, tên tệp, hay bất cứ nơi nào mà các dấu gạch ngang chỉ là nhiễu. Giá trị 128-bit nằm bên dưới là giống hệt nhau bất kể chữ hoa thường hay có dấu gạch nối, nên đây thuần túy chỉ là các lựa chọn hiển thị.

Khi bạn cần nhiều ID cùng lúc — gieo dữ liệu cho một bảng, tạo các fixture kiểm thử, cấp phát khóa trước — bạn có thể tạo ra cả một loạt chỉ bằng một cú nhấp và sao chép toàn bộ danh sách cùng nhau, mỗi ID trên một dòng riêng. Mọi thứ được tạo cục bộ trong trình duyệt của bạn và không có gì được truyền đi hay lưu trữ, nên ngay cả những định danh gắn với các bản ghi nhạy cảm cũng không bao giờ rời khỏi thiết bị của bạn.

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

Công cụ này tạo ra loại UUID nào?
Nó tạo các UUID phiên bản 4 theo chuẩn RFC-4122, còn gọi là GUID, là các định danh 128-bit được dựng gần như hoàn toàn từ các bit ngẫu nhiên. Chúng là lựa chọn tiêu chuẩn khi bạn cần một ID duy nhất mà không cần một sổ đăng ký trung tâm.
Các giá trị ngẫu nhiên được tạo ra như thế nào?
Bộ tạo dùng API crypto.randomUUID() tích hợp của trình duyệt, một nguồn ngẫu nhiên an toàn về mặt mật mã, kèm một phương án dự phòng an toàn. Điều đó khiến kết quả phù hợp cho các khóa, token và bản ghi cơ sở dữ liệu trong môi trường production.
Tôi có thể tạo bao nhiêu UUID cùng lúc?
Bạn có thể tạo tối đa 100 UUID trong một cú nhấp. Mỗi UUID xuất hiện trên một dòng riêng, và nút Copy lấy toàn bộ loạt cùng lúc.
Các UUID được tạo ra có thực sự duy nhất không?
UUID phiên bản 4 có 122 bit ngẫu nhiên, cho khoảng 5.3 x 10^36 khả năng. Khả năng hai UUID trùng nhau nhỏ đến mức không đáng kể nên chúng được coi là duy nhất cho mọi mục đích thực tế.
Có gì được gửi đến máy chủ không?
Không. Mọi UUID được tạo cục bộ trong trình duyệt của bạn và không bao giờ được truyền đi hay lưu trữ ở đâu, nên công cụ riêng tư, miễn phí, và an toàn cho các định danh nhạy cảm.

Công cụ liên quan

Tiếp tục với những công cụ hữu ích này

Tạo Mã QR

Máy Tạo Từ Ngẫu Nhiên

Trình tạo câu ngẫu nhiên

Trình tạo số ngẫu nhiên

Máy Tạo Mật Khẩu Ngẫu Nhiên

Công Cụ Quyết Định Ngẫu Nhiên