Это вопрос из двух частей:
Часть 1
Во-первых, речь идет о вычислении энтропии пароля в PHP. Я не смог найти примеры кода, которые были бы эмпирически обоснованными и действительно хотели бы получить некоторую помощь в поиске «правильного» способа вычисления окончательного числа. У многих людей в сети есть свой собственный алгоритм взвешивания, но я действительно ищу научный ответ на уравнение.
Я буду использовать энтропию пароля в качестве одной из частей более крупной системы безопасности и в качестве способа анализа нашей общей безопасности данных на основе информации, доступной в случае взлома пароля пользователя и того, насколько легко пароль может быть взломан с помощью грубой силы .
Часть 2
Вторая часть этого вопроса: насколько полезным будет это число? Моя конечная цель - создать «оценку» для каждого пароля в системе, которую мы можем использовать для мониторинга нашей общей безопасности системы как динамического объекта. Мне, вероятно, придется работать по другому алгоритму или двум для атак по словарю, сменных паролей и т. Д., Но я чувствую, что энтропия будет играть важную роль в таком «общем» рейтинге системы. Я приветствую предложения для других подходов.
Что я знаю
Я видел упоминания о логарифмических уравнениях для вычисления указанной энтропии, но мне еще предстоит увидеть хороший пример, который на самом деле не записан как математическое уравнение. Я мог бы действительно использовать пример кода (даже если не строго в PHP), чтобы заставить меня работать.
Extension
Комментируя, я понял, что могу лучше объяснить полезность этого расчета. Когда я работаю на устаревших системах, где у пользователей чрезвычайно слабые пароли, у меня должны быть конкретные доказательства этой слабости, прежде чем я смогу убедить всех пользователей изменить свои пароли на новые (принудительные) надежные пароли. Сохраняя показатель надежности пароля для каждой учетной записи пользователя в системе, я могу построить несколько различных показателей, чтобы показать общую слабость системы и обосновать надежность паролей.
ТИА