Um auch Kollisionen zu vermeiden, die bei Digests, wenn auch selten, so doch möglich sind, musst du Zähler und Digest kombinieren.
da ist es doch wesentlich einfacher, ekkis vorschlag zu befolgen:
irgend einen hash erzeugen und diesen in die datenbank einfügen (feldinhalt muss natürlich unique sein): bei erfolgsmeldung hats geklappt, bei misserfolg die fehlermeldung auswerten (wenn die fehlermeldung besagt, dass der wert eindeutig sein muss, einfach einen neuen hash generieren und los