Ich muss eine eindeutige ID (nur int) aus einer alphanumerischen Zeichenfolge generieren.
z.B. Ich habe Sicherheits-ID = 'ABC123DEF' Ich sollte in der Lage sein, eine eindeutige ID (nur "int") der "Sicherheits-ID" zu erzeugen, so dass die eindeutige ID immer konstant ist.
z.B. Sicherheits-ID: ABC123DEF Int ID: 9463456892
Damit kann ich die Int-ID in der Datenbank speichern und die Sicherheits-ID jederzeit von Int ID beziehen.
Einige Beispiele: PBG_CD_20120214_.2 | 201202-CMG188963_T | PBG_TD_20120306_.0001 3 Beispiele: -PIPE getrennt
Verwenden Sie einfach den Java Hashing-Algorithmus. Nicht 100% einzigartig, aber Sie können es als Basis verwenden und etwas hinzufügen, um die Eindeutigkeit auf einem viel kleineren Kollisionssatz zu garantieren:
%Vor%Um eine 100% ige Kollision zu vermeiden, benötigen Sie eine Primzahl, die größer ist als der größere Unterschied zwischen Ihren Charakteren. Für 7-Bit-ASCII benötigen Sie etwas über 128. Verwenden Sie statt 31 also 131 (die nächste Primzahl nach 128). Der Teil, den ich nicht überprüft habe, ist, ob der generierte Hashwert größer als die Größe Ihres Long-Ints wird. Aber du kannst es von dort nehmen ...
Tags und Links algorithm algorithmic-trading