使用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 ......
答案 0 :(得分: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())