Ho creato un metodo per creare una stringa UUID a 128 bit, ora voglio controllare se questo è un numero primo o meno. Non posso mettere la stringa in un int perché è troppo grande. Qualcuno può suggerire come vorrei andare sul controllo?Verifica se stringa UUID è Prime
Questo è il codice che ho utilizzato per creare l'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);
}
si può fare long num = big.longValue (); se vuoi fare dei calcoli su di esso. – SpaceCowboy
Questa è una domanda bizzarra. Testare un 'BigInteger' per la primalità [è super facile,] (http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html#isProbablePrime-int-) ma perché potresti preoccuparti se un UUID è primo? Sto morendo dalla voglia di sapere. – erickson
Ho cambiato a lungo ma non mi sembra più 128 bit, puoi suggerire comunque di risolverlo? @ durron597 non voleva fare un duplicato ma penso che la mia domanda sia diversa – Hayes121