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

webymax

New Member
16.09.2010
4
0
#1
Я не имел дел с шифрованием, а тут для связи сайта с банком понадобилось сделать две с виду несложных вещи. Прошу помощи:

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.