Điểm:2

Node.js uuid.v4 so với crypto.randomUUID.Việc triển khai nào an toàn hơn về mặt mật mã?

lá cờ cn

Trong một thời gian dài, tôi đã sử dụng gói uuid npm cho nhu cầu uuid v4 của mình. Có vẻ như trong các phiên bản gần đây của nút, họ đã giới thiệu một mô-đun tiền điện tử tích hợp với phương thức RandomUUID.

Một số điểm chuẩn đã được thực hiện để hiển thị crypto.randomUUID nhanh hơn nhiều so với uuid.v4 (khoảng 3x +).

Tuy nhiên, tôi không thể tìm thấy bất kỳ thông tin nào về cách triển khai khác nhau (nếu có) về cách họ chọn số ngẫu nhiên cho UUID đầu ra của họ. Có khả năng một người đang sử dụng RNG an toàn hơn không?

Mô-đun nút UUID

Tài liệu Node.js cho crypto.randomUUID

JAAAY avatar
lá cờ us
Cả hai đều triển khai cùng một RFC.
fgrieu avatar
lá cờ ng
Điều này rất cụ thể về triển khai và với ít tiền điện tử (không có khóa và khả năng phân biệt ngẫu nhiên với ngẫu nhiên không phải là cốt lõi của câu hỏi) nên nó có vẻ lạc đề. Thay vào đó, hỏi nó trên [security-SE](https://security.stackexchange.com/) hoặc [SO](https://stackoverflow.com/) thì sao?
Alexander D'Attore avatar
lá cờ cn
Đây là thực hiện cụ thể cho chắc chắn. Trọng tâm của câu hỏi của tôi là việc triển khai nào mang lại khả năng phân biệt tốt nhất với ngẫu nhiên.
SAI Peregrinus avatar
lá cờ si
Theo thiết kế, ngay cả các UUID "ngẫu nhiên" cũng có thể phân biệt được với các byte ngẫu nhiên. Nhưng cả hai về cơ bản phải có entropy giống hệt nhau đối với các phần của UUID được chọn ngẫu nhiên, khi ở chế độ UUID ngẫu nhiên (thay vì chế độ dựa trên thời gian hoặc một chế độ khác được chỉ định trong RFC).
Maarten Bodewes avatar
lá cờ in
Thật không may, sự khác biệt gấp 3 lần về tốc độ không cho bạn biết bất cứ điều gì. Trình tạo số ngẫu nhiên kém an toàn hơn thường nhanh hơn * nhiều * so với tốc độ gấp 3 lần. Sự khác biệt có thể là do sự khác biệt trong triển khai hoặc cách truy xuất ngẫu nhiên (ví dụ: từng byte hoặc từng từ). [Bài đăng này](https://www.nearform.com/blog/new-crypto-capabilities-in-node-js/) dường như đi sâu hơn một chút vào sự khác biệt.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.