Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint, seed
- import sys
- localvalid1 = "abcdefghijklmnopqrstuvwxyz"
- localvalid2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
- localvalid3 = "!#$%&'*+-/=?^_`{|}~."
- Offset = 0
- def IsValidEmail(s,debug=0):
- email = s
- pos = email.rfind("@")
- local = email[:pos]
- domain = email[pos+1:]
- if debug == 1:
- print local
- print domain
- isgood = False
- localvalid = localvalid1 + localvalid2 + localvalid3
- # Check Local Part
- for cntr in range(0,len(local)):
- if local[cntr] in localvalid:
- if debug == 1:
- print local[cntr],ord(local[cntr]),"True"
- isgood = True
- else:
- if debug == 1:
- print local[cntr],ord(local[cntr]),"False"
- isgood = False
- break
- r = email.find("..")
- if r > -1:
- isgood = False
- return isgood
- def CheckSum(s,debug = 0):
- sum = 0
- email = s.upper()
- for cntr in range(0,len(email)):
- if debug == 1:
- print email[cntr],ord(email[cntr])
- sum += ord(email[cntr])
- cs = sum/len(email)
- if debug == 1:
- print('Sum = %d' % sum)
- print('ChkSum = %d' % cs)
- print('ChkSum = %s' % chr(cs))
- return cs,chr(cs)
- def EncodeKey(s, csum, debug = 0):
- global Offset
- email = s
- Offset = csum - 68
- if debug == 1:
- print("Offset is %d" % Offset)
- NewEmail = ""
- for cntr in range(0,len(email)):
- ch = ord(email[cntr]) + Offset
- if cntr == 1:
- NewEmail = NewEmail + (chr(len(email)+68)) + chr(ch)
- elif cntr == 2:
- NewEmail = NewEmail + chr(csum) + chr(ch)
- else:
- NewEmail = NewEmail + chr(ch)
- if debug == 1:
- print cntr, NewEmail
- return NewEmail
- def DecodeKey(s,debug = 0):
- global Offset
- eml = ""
- for cntr in range(0,len(s)):
- if debug != 0:
- print cntr,s[cntr],ord(s[cntr])-Offset,chr(ord(s[cntr])-Offset)
- if cntr == 0:
- eml = eml + chr(ord(s[cntr])-Offset)
- elif cntr == 1:
- emllen = ord(s[cntr])-Offset
- elif cntr == 3:
- csumchr=s[cntr]
- else:
- eml = eml + chr(ord(s[cntr])-Offset)
- if debug == 1:
- print eml
- return eml
- def DoIt():
- email = raw_input("Please enter email address -> ")
- isok = IsValidEmail(email,0)
- if isok == True:
- csum,csumchr = CheckSum(email)
- ke = EncodeKey(email,csum,0)
- print("License Key = %s" % ke)
- print("Original email = %s" % DecodeKey(ke,0))
- if __name__ == "__main__":
- DoIt()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement