Skip to content

Instantly share code, notes, and snippets.

@62mkv
Created October 11, 2016 05:01
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save 62mkv/1e04a7c13b0bfe99ae7280adca3e494d to your computer and use it in GitHub Desktop.
Save 62mkv/1e04a7c13b0bfe99ae7280adca3e494d to your computer and use it in GitHub Desktop.
Python script to calculate SIP REGISTER Digest authentication (in order to check password validity)
from md5 import md5
# header from 401 response on REGISTER
# Authorization: Digest username="883140776410950", realm="gw_youmagic", algorithm=MD5, uri="sip:GW_Youmagic", nonce="1476157437:0a1418a40f8ee1c9a55f1587ab931c14", response="3ff479ccc24874f66aae45dac889d099"
login = '883140776410950'
uri = 'sip:GW_Youmagic'
nonce = '1476157437:0a1418a40f8ee1c9a55f1587ab931c14'
realm = 'gw_youmagic'
password = '----------'
str1 = md5("{}:{}:{}".format(login,realm,password)).hexdigest()
str2 = md5("REGISTER:{}".format(uri)).hexdigest()
str3 = md5("{}:{}:{}".format(str1,nonce,str2)).hexdigest()
print str3
@ca4ti
Copy link

ca4ti commented Dec 10, 2021

have this version is 100% effective : https://github.com/OlegPowerC/SIPdigestCalculator

@62mkv , is it possible to expand the code with these differences?

@62mkv
Copy link
Author

62mkv commented Dec 10, 2021

I have no idea :) this is something I've put here for myself as a quick hack to validate signature and probably only ever used once. feel free to expand as you wish

@ca4ti
Copy link

ca4ti commented Dec 10, 2021

I check using asterisk and this i inform is 100% ok (your no have match), If you have time, try to include on your code.

Thanks your code and your time !

Congrats !!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment