Прежде всего, это пароль пользователя (т. Е. Вы авторизуетесь от имени пользователя) или общий секрет между двумя серверами?
Если это пароль пользователя, остановитесь. Вы сохраняете пароли в виде открытого текста (или как несоленый md5). В любом случае это плохо. Сохраните пароли как соленый хеш и используйте вместо этого OAuth или что-то еще для аутентификации.
Если это общий секрет между двумя серверами (не представляющий пользователя), вы все равно можете использовать oauth или что-то еще, но если вы просто хотите что-то простое, вы должны аутентифицироваться следующим образом:
$val = hash_hmac('sha256', $nonce, $secret);
$nonce
- это одноразовое значение, выбранное сервером случайным образом для предотвращения атак воспроизведения.
Имейте в виду, что если у вас нет одноразового номера, то любое значение, которое вы отправляете через , является вашим общим секретом. Не имеет значения, производите ли вы его от hmac md5 или чего-то еще; если он оказывается одинаковым каждый раз, он эквивалентен паролю, отправленному по каналу связи. И не забудьте также защитить канал связи от MITM!