1

使用onvifするには、パスワードを特定の種類で暗号化する必要があります。35 ページの ONVIF Appicaltion Programmer's Guideで説明されている方法。PHPでこれを行う方法も見つけました。次のようになります。

$nonce      = pack('H*', mt_rand());
$passdigest = base64_encode(pack('H*', sha1($nonce . pack('a*', timestamp) . pack('a*', password))));

主な問題は、すべてのバイト操作がどのように機能するかがわからないことです。そのため、この PHP コードを Python に転送するための助けが必要です...

4

1 に答える 1

1

から: https://github.com/Pegax/pyOnvif

n64 = ''.join(SystemRandom().choice(string.letters + string.digits+string.punctuation) for _ in range(22))
nonce = base64.b64encode(n64)
#n64 = base64.b64decode(nonce)
pdigest= base64.b64encode(sha1(n64+created+self.password).digest())
于 2014-09-07T22:39:04.570 に答える