В чем проблема написания такого алгоритма? Получаете строку, дальше
1) Если пароль > 8 символов - продолжаем (ставим 1 палочку сложности из 4), нет - отбрасываем
2) Если в пароли содержаться цифры - добавляем палочку
3) Есть хотя бы одна заглавная - еще + 1
4) Если символы, типа !@#$%^... - еще + 1
Дальше проверяем полученное число и в зависимости от его значения выдаем или не выдаем ошибку.
Все проходит через банальный поиск символа в строке