Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import hashlib
- ## Origional Block
- def makepass(user, password):
- b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
- middle = "Administration Tools"
- s = "%s:%s:%s" % (user, middle, password)
- m = hashlib.md5(s).digest()
- #create pairs of characters from hash string
- narray = []
- for i in range(8):
- n1 = ord(m[2*i])
- n2 = ord(m[2*i+1])
- #uses n1 as high byte and n2 as low byte of 16 bit number
- narray.append( (n1<<8 & 0xff00) | (n2 & 0xff) )
- print narray
- #takes 8x 16bit numbers from above to create triples of chars
- res = ""
- for i in narray:
- p1 = i >> 12 & 0xf #set to high4 bits of i
- p2 = i >> 6 & 0x3f #set to bits value 6-12
- p3 = i & 0x3f #set to low 6 bits of i
- print i, p1 , p2 , p3
- print b64[p1],b64[p2], b64[p3]
- res += b64[p1] + b64[p2] + b64[p3]
- for c, n in zip("nrcstn", [0, 6, 12, 17, 23, 29]):
- res = res[:n] + c + res[n:]
- return res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement