Also ich würde so vorgehen:
Schritt 1:
Eine Klasse schreiben, die ein Passwort bewertet und dafür Punkte vergibt.
Als Vorlage was man wie bewertet kann man z.B.
http://www.passwordmeter.com/ verwenden.
Es gibt da viele verschiedene Algorithmen; hier ein Beispielcode (PHP):
http://www.sikosoft.com/item/writing...ngth_algorithm
Schritt 2:
Die Punkte werden dem Benutzer als farbigen (rot, gelb, grün) Balken oder als Ampel dargestellt.
Dafür gibt es eine eigene Klasse, die die Punktzahl als Input bekommt und als Output auf einem Canvas zeichnet.
Schritt 3:
Optional kann der Admin eine Mindestpunktzahl vorgeben.
Falls die geforderte Punktzahl nicht erreicht wird, wird das PW als zu schwach abgelehnt.
Schritt 4:
die letzten 5 Passwörter werden als Hash gespeichert.
So kann überprüft werden ob ein altes PW neu verwendet wird.
Wenn das neue PW dem alten PW nur ähnlich ist, würde ich das nicht als negativ bewerten.
Ein Ähnlichkeitsanalyse halte ich nicht für sinnvoll.
Vorallem müsste man für einen Vergleich der Ähnlichkeit die Passwörter selbst speichern (und nicht nur den Hash).
Das stellt aber einen eheblichen Schwachpunkt dar, weil ein Hacker so an jede Menge alter Passwörter kommen könnte, die der Benutzer auf anderen System evtl. noch im Einsatz hat.