dynamic_key_for_url = md5(your_secret_key + resource_url + password_variant_index)
устойчивость к раскрытию алгоритма
Да.
Возможность генерации нескольких различных паролей к одному и тому же ресурсу
Переменная
password_variant_index
задает номер слота пароля для конкретного ресурса.
Отсутствие внешних средств шифрования (шифроблокнот, телефон)
Подойдет любое вычислительное устройство: ПК, ноут, планшет, телефон (или ручка + бумага + полчаса времени).
Невозможность (ну, хотя бы на первый взгляд) восстановления алгоритма по утекшему паролю
Это невозможно на первый, на второй и на 100500-й взгляд.