On 2/22/2014 7:26 AM, piyush joshi wrote:

Can anyone help me out in understanding this code

Your question is kinda vague. Exactly what do you not understand?

#

import os

rotationMatrix1 = [7, 1, 5, 3, 0, 6, 2, 5, 2, 3, 0, 6, 1, 7, 6, 1, 5, 2, 7, 1, 0, 3, 7, 6, 1, 0, 5, 2, 1, 5, 7, 3, 2, 0, 6]

rotationMatrix2 = [1, 6, 2, 5, 7, 3, 0, 7, 1, 6, 2, 5, 0, 3, 0, 6, 5, 1, 1, 7, 2, 5, 2, 3, 7, 6, 2, 1, 3, 7, 6, 5, 0, 1, 7]

keyboardDict = { 2: '1', 3: '2', 4: '3', 5: '4', 6: '5', 7: '6', 8: '7', 9: '8', 10: '9', 11: '0',

16: 'q', 17: 'w', 18: 'e', 19: 'r', 20: 't', 21: 'y', 22: 'u', 23: 'i', 24: 'o', 25: 'p',

30: 'a', 31: 's', 32: 'd', 33: 'f', 34: 'g', 35: 'h', 36: 'j', 37: 'k', 38: 'l',

44: 'z', 45: 'x', 46: 'c', 47: 'v', 48: 'b', 49: 'n', 50: 'm' }

def keyboardEncToAscii(inKey):

                out = ""

                for c in inKey:

                                if c == 0: return out

if c in keyboardDict: out += keyboardDict[c]

                                else: return ""

                return out

def decryptHash(hash, key, rotationMatrix):

                outhash = []

                for i in range(0, len(hash)):

outhash.append(((hash[i] << (rotationMatrix[7*key+i])) & 0xFF) | (hash[i] >> (8-rotationMatrix[7*key+i])))

                return outhash

print("")

print("hexa decimal code")

print("hexadecimal code from which the password can be calculated,")

print("07088120410C0000")

print("")

print("Please enter the code: ")

code = raw_input()

hash = []

for i in range(1, len(code) // 2):

hash.append(int(code[2*i]+code[2*i+1],16))

key = int(code[0:2], 16) % 5

password = keyboardEncToAscii(decryptHash(hash, key, rotationMatrix1))

if password == "":

password = keyboardEncToAscii(decryptHash(hash, key, rotationMatrix2))

if password == "":

                print("The password could not be calculated. Bummer.")

else:

                print("The password is: " + password)

if (os.name == 'nt'):

                print("Press a key to exit...")

                raw_input()



------------------------------------------------------------------------
<http://www.avast.com/>   

This email is free from viruses and malware because avast! Antivirus <http://www.avast.com/> protection is active.




_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to