Ich möchte eine eindeutige alphanumerische Zeichenfolge der Länge 28 aus zwei eindeutigen alphanumerischen Zeichenfolgen generieren. Ist es mathematisch möglich, eine kollisionsfreie Saite aus zwei einzigartigen Saiten zu haben?Wie generiert man eine eindeutige Zeichenfolge der Länge 28 aus zwei eindeutigen Zeichenfolgen der Länge 28?
hier ist das, was ich tat,
ASCII_NUMBER_RANGE_START = 48;
ASCII_ALPHABET_RANGE_START =55;
for (int i = 0; i < firstArray.length; i++) {
int tempASCIIValue = (Character.getNumericValue(firstArray[i]) + Character.getNumericValue(secondArray[i])) % 35;
if (tempASCIIValue <= 9) {
FINAL_ASCII_VALUE = tempASCIIValue + ASCII_NUMBER_RANGE_START;
} else {
FINAL_ASCII_VALUE = tempASCIIValue + ASCII_ALPHABET_RANGE_START;
}
combinedArray[i] = (char) FINAL_ASCII_VALUE;
}
return new String(combinedArray);
}
In obigem Code, ich bin nicht sicher, ob die resultierende Zeichenfolge als ihre Mutter Strings als einzigartig stark ist.
Hinweis: die erzeugte Zeichenfolge gleiche Länge wie die Mutter Zeichenfolge haben
Jede Hilfe sehr geschätzt wird. Vielen Dank.
Was haben Sie versucht? – Amy
Angenommen, die Verkettung (eindeutiges A, eindeutiges B) ist immer ein eindeutiges String-Literal. – tpk
versuchen Sie diesen Link - http://www.javapractices.com/topic/TopicAction.do?Id=56 – tpk