2014-04-10 7 views
1

onvif 암호는 특정 종류로 암호화되어야합니다. 나는 또한 PHP에서이 작업을 수행하는 방법을 발견 35 페이지의 ONVIF Appicaltion Programmer's Guide에서 설명하는 방법은, 그것은 다음과 같습니다파이썬에서 onvif에 대한 암호 암호화를 수행하는 방법은 무엇입니까?

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

가장 큰 문제는 내가 모든 바이트 작업이 작동하는 방법을 알고, 그래서 없다는 것입니다

답변

1

... 파이썬에이 PHP 코드를 전송하는 도움이 필요에서 : 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())