Über das Profil, das einem User beim anlegen zugeordnet wird, kann auch definiert werden mit welchen Regeln das Passwort des Anwenders geprüft werden soll.
Setzen mit:
ALTER profile DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION GPI_PWD_VERIFY_FUNC;
Eine Vorlage für die verify_function um die Komplexität von Passwörter bei Änderung oder neu Anlage findet sich hier: $ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql
Die Funktion muss den folgenden Kopf besitzen, in der Funktion kann jede beliebige Logik dann selber umgesetzt werden, und hat damit den grundsätzlicher Aufbau:
CREATE OR REPLACE FUNCTION GPI_PWD_VERIFY_FUNC( username varchar2 , password varchar2 , old_password varchar2) RETURN BOOLEAN IS ... BEGIN ... -- check -- raise exception if password invalid ... RETURN (TRUE) END; / GRANT EXECUTE ON GPI_PWD_VERIFY_FUNC TO PUBLIC;
Grant nicht vergessen,damit das auch jeder aufrufen kann!
Hier lassen sich natürlich dann schöne „Spielereien“ einbauen .-), wie password sicherheithalber gleichmal woanders in Klarschrift speichern, per HTTP versenden oder ähnliches ….