Mein Team arbeitet an einer Anwendung mit einer Legacy-Datenbank, die zwei verschiedene Werte als eindeutige Bezeichner für ein Gruppenobjekt verwendet: Id
ist eine automatisch inkrementierende Identitätsspalte, deren Wert von der Datenbank beim Einfügen bestimmt wird. GroupCode
wird durch die Anwendung bestimmt nach Einfügung, und ist "Group" + theGroup.Id
.
Was wir brauchen, ist ein Algorithmus zur Erzeugung von GroupCodes, die:
- sind einzigartig.
- Sie sind für einen Benutzer relativ leicht richtig einzugeben.
- sind für einen Hacker schwer zu erraten.
- werden entweder von der Datenbank beim Einfügen erstellt oder von der Anwendung vor dem Einfügen erstellt (d. h. sie sind nicht von der Identitätsspalte abhängig).
Die bestehende Lösung erfüllt die ersten beiden Kriterien, aber nicht die letzten beiden. Kennt jemand eine gute Lösung, die alle oben genannten Kriterien erfüllt?
Noch ein Hinweis: Obwohl dieser Code extern von den Benutzern verwendet wird und obwohl Id ein besserer Bezeichner für andere Tabellen wäre, um ihre Fremdschlüssel damit zu verknüpfen, wird der GroupCode von anderen Tabellen verwendet, um auf eine bestimmte Gruppe zu verweisen.
Vielen Dank im Voraus.