2015-02-19 24 views
5

Tôi đã tạo phương thức tạo chuỗi UUID 128 bit, bây giờ tôi muốn kiểm tra xem đây có phải là số nguyên tố hay không. Tôi không thể đặt chuỗi vào một int vì nó quá lớn. Bất cứ ai có thể đề nghị làm thế nào tôi sẽ đi về kiểm tra?Kiểm tra xem chuỗi UUID có phải là Prime

Đây là mã tôi đã sử dụng để tạo ra các UUID

public static String uuid() 
    { 
     UUID uuid = UUID.randomUUID(); 
     long hi = uuid.getMostSignificantBits(); 
     long lo = uuid.getLeastSignificantBits(); 
     byte[] bytes = ByteBuffer.allocate(16).putLong(hi).putLong(lo).array(); 
     BigInteger big = new BigInteger(bytes); 
     String numericUuid = big.toString().replace('-','1'); // just in case 
     //System.out.println(numericUuid); 
     return(numericUuid); 
    } 
+0

bạn có thể làm long num = big.longValue (); nếu bạn muốn thực hiện một số phép tính trên đó. – SpaceCowboy

+2

Đây là một câu hỏi kỳ quái. Thử nghiệm một 'BigInteger' cho primality [là siêu dễ dàng,] (http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html#isProbablePrime-int-) nhưng tại sao bạn có thể quan tâm nếu UUID là nguyên tố? Tôi sắp chết để biết. – erickson

+0

Tôi đã thay đổi thành dài nhưng dường như không còn 128 bit nữa, bạn có thể đề xuất dù sao để khắc phục điều đó không? @ durron597 didnt có nghĩa là để làm cho một bản sao nhưng tôi nghĩ rằng câu hỏi của tôi là khác nhau – Hayes121

Trả lời

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