2014-09-03 12 views
6

Cách tạo UUID hợp lệ từ một chuỗi? String một mình không phải là những gì tôi đang tìm kiếm. Thay vào đó, tôi đang tìm một cái gì đó giống như một hàm băm chuyển đổi bất kỳ chuỗi nào thành một UUID hợp lệ.Cách dễ nhất trong Java để biến Chuỗi thành UUID

+1

Vâng, các yêu cầu của bạn về tính độc đáo, v.v. là gì? Bạn * có thể * chỉ cần gọi 'hashCode' để lấy một' int', và sau đó xây dựng một UUID dựa trên đó ... nhưng rõ ràng bạn sẽ nhận được nhiều xung đột hơn mức cần thiết. –

+2

Có gì trong chuỗi có bất kỳ sự liên quan nào với UUID? Bạn cũng có thể tạo một UUID mới và giữ một bảng bản đồ ở đâu đó. Hoặc có thể ['UUID.nameUUIDFromBytes (string.getBytes())'] (http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html#nameUUIDFromBytes (byte [])) . – EJP

+0

Điều này trông giống như một vấn đề XY. – Raedwald

Trả lời

7

Trong thư viện lõi Java, có java.util.UUID.nameUUIDFromBytes(byte[]).

Tôi sẽ không khuyên bạn nên vì nó UUID 3 dựa trên MD5, một hàm băm rất bị hỏng. Bạn nên tìm cách thực hiện UUID 5, dựa trên SHA-1 (tốt hơn mặc dù cũng là sort of broken).

+0

Thậm chí còn tốt hơn - tôi đã đề xuất thực hiện thủ công. – boky

+0

bất kỳ js nào tương đương? – Abhijeet

+0

@Abhijeet Tôi không biết. Bạn có thể muốn hỏi đó như một câu hỏi riêng. –

Các vấn đề liên quan