Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Encryption-decryption algorithm by Hellerick, 2012-05-28
- from random import randint
- minascii=ord(' ')
- maxascii=ord('~')
- asciirange=maxascii-minascii+1
- def shuffle(w,p,enc_dec):
- result = ''
- for i in range(len(w)):
- for j in range(len(p)):
- for k in range(len(p)):
- p[j]=(p[j]+p[j]%(p[k]+1))%asciirange
- char=ord(w[i])
- for j in range(len(p)): char+=p[j]*(j%4*2+1)*enc_dec
- result+=chr((char-minascii)%asciirange+minascii)
- return result
- def encrypt(w,password='Rule, Britannia!'):
- p, addcode = [], ''
- for i in range(4):
- p+=[randint(minascii,maxascii)]
- addcode+=chr(p[i])
- for i in range(len(password)): p+=[ord(password[i])]
- return addcode+shuffle(w,p,+1)
- def decrypt(w,password='Rule, Britannia!'):
- p = []
- for i in range(4): p+=[ord(w[i])]
- for i in range(len(password)): p+=[ord(password[i])]
- return shuffle(w[4:],p,-1)
- text='Lingvoforum~'
- enctext=encrypt(text,'Password')
- dectext=decrypt(enctext,'Password')
- incdectext=decrypt(enctext,'Passwort')
- print 'Original text: "'+text+'"'
- print 'Encrypted: "'+enctext+'"'
- print 'Decrypted (correct password): "'+dectext+'"'
- print 'Decrypted (incorrect password): "'+incdectext+'"'
Advertisement
Add Comment
Please, Sign In to add comment