Я пытаюсь создать дайджест для аутентификации ONVIF.Для одноразового номера, даты и пароля я использую примеры значений из Создание дайджеста аутентификации ONVIF с использованием Crypto ++? .
Я использую Ubuntu 18.04.
Формула для дайджеста:
Digest = B64ENCODE( SHA1( B64DECODE( Nonce ) + Date + Password ) )
Это начальные значения:
nonce = LKqI6G/AikKCQrN0zqZFlg==
date = 2010-09-16T07:50:45Z
password = userpassword
Декодирование одноразового номера выполняется с его командой:
echo -n "LKqI6G/AikKCQrN0zqZFlg==" | base64 -d
Result is: ,���o��B�B�tΦE�
Конкатенация декодированного одноразового номера, даты и пароля, которые я получил:
,���o��B�B�tΦE�2010-09-16T07:50:45Zuserpassword
Хеш вычисляется с помощью этой команды:
echo -n ",���o��B�B�tΦE�2010-09-16T07:50:45Zuserpassword" | sha1sum
Result: c6c63f09a5f074e8a4d21ec8a264013425476041
Наконец, кодирование выполняется с помощью этой команды:
echo - n "c6c63f09a5f074e8a4d21ec8a264013425476041" | base64
Result is: LSBuIGM2YzYzZjA5YTVmMDc0ZThhNGQyMWVjOGEyNjQwMTM0MjU0NzYwNDEK
Но ожидается:
tuOSpGlFlIXsozq4HFNeeGeFLEI=
Можете ли вы сказать мне, что я делаю не так?