Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from re import match
- letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ,.?!:$()"
- print("Installing data... Please wait...")
- exec("primes = [2,"+open("PrimesDataBase.pr", "r").read()+"]")
- print("Data installed")
- def get_beginning():
- try:
- return int(input("Enter the first number to use:\n"))
- except:
- print("Must be a number")
- get_beginning()
- beginning = int(get_beginning())
- print(25*"="+"Important!"+25*"="+"\n"+6*"="+"After "+str(len(primes))+" characters it will be the same key"+7*"=")
- while 0 == 0:
- dat = ""
- EnOrDeCode = input("Encode or Decode?\n")
- if match(r"^( +)?[eE][nN]([cC]([oO]([dD]([eE])?)?)?)?( +)?$", EnOrDeCode):
- En = input("Enter text to Encode:\n")
- for i in range(len(En)-1, -1, -1):
- try:
- if i+beginning < len(primes):
- ip = i+beginning
- else:
- ip = (i+beginning) %len(primes)
- if letters.index(En[i])+primes[ip] <= len(letters)-1:
- ind = letters.index(En[i])+primes[ip]
- else:
- ind = (letters.index(En[i])+primes[ip]) % len(letters)
- dat += letters[ind]
- except ValueError:
- dat += "-"
- print(dat)
- elif match(r"^( +)?[dD][eE]([cC]([oO]([dD]([eE])?)?)?)?( +)?$", EnOrDeCode):
- datOne = ""
- DeOne = input("Enter text to Decode:\n")
- De = ""
- for i in range(len(DeOne)-1, -1, -1):
- De += DeOne[i]
- for i in range(len(De)-1, -1, -1):
- if De[i] != "-":
- if i+beginning < len(primes):
- ip = i+beginning
- else:
- ip = (i+beginning) %len(primes)
- if letters.index(De[i])-primes[ip]<0:
- ind = (letters.index(De[i])-primes[ip]) % len(letters)
- else:
- ind = letters.index(De[i])-primes[ip]
- datOne += letters[ind]
- else:
- datOne += "-"
- for i in range(len(datOne)-1,-1,-1):
- dat += datOne[i]
- print(dat)
- else:
- print("try again")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement