HMAC вычисляет хеш из секрета и данных, которые вы хотите аутентифицировать. Для того чтобы два сервера вычислили один и тот же HMAC, им придется поделиться секретом, что, возможно, делает его не таким секретом. Чтобы иметь возможность проверять старый пароль, необходимо будет либо исправить секрет, либо ссылаться на него по сохраненному паролю, если он может измениться, превратив его практически в соль.
Использование HMAC в настройках хранения паролей довольно странно, это неправильная функция извлечения пароля (слишком быстрая, недостаточно интенсивная память), и секрет не имеет большого значения, если он есть, видя, что он должен быть исправлен (в отличие от правильное использование HMAC, когда секрет сообщается сторонами сеанса и о нем забывают после).