如何在python中对onvif进行密码加密?

时间:2014-04-10 12:40:43

标签: php python onvif python-onvif

使用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 ......

1 个答案:

答案 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())