Darf nicht mit den letzten x Passworten übereinstimmen oder Ähnlichkeiten zu diesen enthalten.
Die erste Anforderung finde ich vernünftig, die zweite erscheint mir in manchen Umgebungen bedenklich: Es wäre nötig, Passwörtern im Klartext / ungehasht zu speichern und das wird eigentlich als Bad Practice angesehen. Das gilt insbesondere bei vielen "anonymen" Usern der Fall, weil die dazu neigen, Passwörter anderer Dienste/Anwendungen wiederzuverwenden.
Wenn die User bekannt sind, könntest du alternativ das Vorkommen von speziellen Zeichenketten testen (Geburtsdatum, Name des Kunden, Namen der Anwendung, Namen der Firma, Variationen davon).
Aber wenn er dann trotzdem "123" als Kennwort setzen will, dann soll er halt.
Wenn das Passwort den Wartungszugang eines Atomkraftwerk sichert, sehe ich das anders