公式:response = md5(md5(<username>:<realm>:<password>):<nonce>:md5(<cmd>:<uri>));
以下代码,一目了然:
import hashlib
rtsp_url = "rtsp://192.168.1.194:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif"
rtsp_cmd = "OPTIONS"
rtsp_nonce = "3a411e0cfec55a66bad9c338f62f356e"
rtsp_realm = "Login to adsjldja"
rtsp_UserName = "admin"
rtsp_password = "admin12345"
data1 = rtsp_UserName +":"+ rtsp_realm + ":" + rtsp_password
data2 = rtsp_cmd + ":" + rtsp_url
m1 = hashlib.md5()
m1.update(data1.encode())
m2 = hashlib.md5()
m2.update(data2.encode())
m3 = hashlib.md5()
data3 = m1.hexdigest()+":"+rtsp_nonce+":"+m2.hexdigest();
m3.update(data3.encode())
print(m3.hexdigest())
分别将rtsp_url, rtsp_cmd, rtsp_nonce, rtsp_realm, rtsp_username, rtsp_password赋予对应的字符串值,就可以计算对应的response 。