Шифрование, Подпись

Тема в разделе "PHP программирование", создана пользователем webymax, 14 июл 2013.

  1. webymax

    webymax New Member

    Регистрация:
    16 сен 2010
    Сообщения:
    4
    Симпатии:
    0
    Я не имел дел с шифрованием, а тут для связи сайта с банком понадобилось сделать две с виду несложных вещи. Прошу помощи:

    1. Сформировать переменную NONCE – от 8 до 32 случайным образом сформированных байтов в hex формате.

    2.
    Есть строка:
    $str = '511.483USD677144616IT Books. Qty: 217Books Online Inc.14www.sample.com 1512345678901234589999999919pgw@mail.sample.com11--1420030105153021 16F2B2DD7E603A7ADA33https://www.sample.com/shop/reply';

    и есть ключ:
    $key = '00112233445566778899AABBCCDDEEFF';

    Нужно из них сделать подпись с помощью шифрования алгоритмом HMAC_SHA1.
    Я сделал вот так:
    hash_hmac('sha1', $str, $key);

    Выдаёт: 857d471f3660de69a106ad6e214edec38bfc41a7

    Но в примере сказано, что должно получиться: FACC882CA67E109E409E3974DDEDA8AAB13A5E48

    Вот выдержка из примера:
    The default MAC algorithm is HMAC_SHA1. Standard options include Triple DES ABA/ABC CBC MAC, AES 128 CBC MAC and RSA/SHA1 signature.
    For our MAC source string example and HMAC_SHA1 algorithm with hexadecimal secret key “00112233445566778899AABBCCDDEEFF”, the result MAC (“P_SIGN”) field must be equal to: “FACC882CA67E109E409E3974DDEDA8AAB13A5E48”. MAC field value can be either an upper case or lower case hexadecimal string.
     
Загрузка...

Поделиться этой страницей