Die folgende Funktion ist besonders praktisch, wenn man auf ein sehr großes VARCHAR-Feld einen Index oder unique Index legen will. Man berechnet aus dem langen String die Prüfsumme und speichert das Ergebnis in einem CHAR(32)-Feld ab. Darauf kann man dann auch einen relativ performanten Index setzen.
Leider ist die MD5-Summe von Java standardmäßig nicht gleich der von der MySQL-Funktion. Das liegt daran, dass Java mit Base10 und MySQL mit Base16 arbeitet. Damit man auf die gleiche Summe kommen, benötigt man folgende Funktion:
Damit ist die Prüfsumme schon in Java-Code vorhanden und muss nicht erst von der Datenbank generiert werden. Damit diese Funktion läuft wird aber noch die Bibliothek Apache Commons Codec benötigt.