Da es bekannt ist, dass Java rund 4 Milliarden eindeutige Hashcodes generiert.Größeren HashCode generieren JAVA
I Hashcode einiger String (Beispiel Fname + Lname + DOB + DATE) bin mit der Primary Key meiner Datenbank
in @PrePersist wird gesetzt ich es mit Hashcode, die mich für neue Benutzer Hashcode bei der Generierung hilft. (Was einmalig sein muss).
Jetzt habe ich keine Codes mehr. Eine mögliche Alternative für mich ist die Verwendung von SHA-2, MD5 usw.
Wie kann ich die Größe des Hash-Codes & erhöhen, aber vermeiden, dass große Kollisionen.
Könnten Sie nicht einfach eine Methode definieren, die ähnlich wie hashCode() 'mit einem' long' oder 'BigInteger' Rückgabetyp funktioniert? – Logan
Verwenden Sie den Hash-Code nicht als Primärschlüssel in der Datenbank. Hash-Codes sind nicht eindeutig und eignen sich nicht als eindeutiger Bezeichner. Die Verwendung eines anderen Hash-Algorithmus hilft nicht, da diese Hashes im Prinzip auch nicht eindeutig sind (obwohl in der Praxis Hash-Kollisionen selten sein sollten). Die Verwendung des Hash-Codes als Primärschlüssel ist ein grundlegender Fehler beim Entwurf Ihres Systems. – Jesper
Was passiert, wenn zwei Benutzer denselben Vor- und Nachnamen und dasselbe Geburtsdatum haben, die sich am selben Tag registrieren? Ich weiß, dass dieses Szenario wahrscheinlich selten ist, aber was passiert, wenn es passiert? – dstarh