Использование хеша в PhPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Использование хеша в PhP

Сообщение Anonymous »

Я пытаюсь написать код подтверждения на PhP, выполнив следующие действия...
Код подтверждения рассчитывается по следующей формуле:
  • Код проверки = целое число(SHA256(хеш)[-2:-1]) mod 10000
  • Вычислить SHA256 из хеша, извлечь из результата 2 крайних правых байта, интерпретировать их как целое число без знака с обратным порядком байтов и для отображения возьмите последние 4 цифры в десятичной форме. Здесь всегда используется SHA256.
  • Обратите внимание, что хэш — это реальное байтовое значение хеш-функции, а не форма Base64 или шестнадцатеричное представление.
Пока у меня есть этот код, но он работает не так, как я надеялся:

Код: Выделить всё

function calculateVcode($hashString) {
$md = hash_init('sha256');
$hash = base64_decode($hashString);
hash_update($md, $hash);
$hash = hash_final($md, true);
$last = substr($hash, -2);
$code = bindec($last);
return substr(strval($code), -4);
}

$hashString = "Demo string for Authentication";
$md5Hash = md5($hashString);
$result = calculateVcode($md5Hash);`
Есть идеи, как заставить это работать, или я на неверном пути?
Результат может быть таким:
Текст, используемый для сгенерировать хеш-строку
“Auðkenni APP Authentication”
Сгенерирована хеш-строка
n/kRNhXaZ2jFKv8KlQX7ydgedXUmVy8b2O4xNq2ZxHteG7wOvCa0Kg3rY1JLOrOBXYQm+z2FRVwIv47w8gUb5g==
Проверка код, рассчитанный по хешу
4141

Подробнее здесь: https://stackoverflow.com/questions/784 ... ash-in-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»