Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
Мне нужно сгенерировать подпись SHA256 по ключу. Нужна альтернатива следующей процедуры: Код: plaintext Код: php 1. Но результат (подпись) не совпадает. Видимо потому что третий параметр функции (private.pem) воспринимается как стока, а не как закрытый ключ. Не подскажите, как на PHP подписать данные аналогично первому выражению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2018, 01:23 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
И сам себе отвечаю. Сделал такую функцию: Код: php 1. 2. 3. 4. 5. 6. 7. Подписывает, как мне требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2018, 01:34 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
Не подскажите то же самое, но для Perl? В Perl есть модуль Digest::SHA, в нем есть функция hmac_sha256_base64. Но ее результат не совпадает с тем, что выдает openssl, он гораздо короче. Видимо это хеш, а не подпись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 13:54 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
hmac - это хеш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 15:01 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
Да, напутал. Сделал такую функцию: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ничего не напутал? Модуль на CPAN документирован очень невнятно. Вроде бы все правильно, но почему-то подпись, которую я получаю, не совпадает с эталонной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 15:05 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
Вот код на PHP, который все делает правильно: Код: php 1. 2. 3. 4. 5. 6. 7. 8. Он выдает такой результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Вот аналогичный код на Perl: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Результат почему-то немного отличается: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Из-за чего получается разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 18:25 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
Кстати, дифф выглядит довольно необычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 18:31 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
Похоже вся разница в том, что во втором варианте каждые 76 символов добавляется лишний 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 18:33 |
|
||
|
PHP: Вопрос по хешированию (подписи)
|
|||
|---|---|---|---|
|
#18+
Все, вопрос решился, проблема была не в крипто-функциях, а в кодировании в base64. У функции encode_base64 второй аргумент — это не количество символов в строке, а символ, добавляемый в конце строки. И значение 0 интерпретировалось как "0". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2019, 18:37 |
|
||
|
|

start [/forum/topic.php?fid=23&fpage=15&tid=1459919]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 385ms |

| 0 / 0 |
