#!/usr/bin/env python
import sys
alphaL = "abcdefghijklnmopqrstuvqxyz"
alphaU = "ABCDEFGHIJKLMNOPQRSTUVQXYZ"
num = "0123456789"
keychars = num+alphaL+alphaU
key = "T0pS3cre7key"
if not key.isalnum():
print "Your key is invalid, it may only be alphanumeric characters"
sys.exit()
plaintext = "???"
ciphertext = ""
decipher = ""
for i in range(len(plaintext)):
rotate_amount = keychars.index(key[i%len(key)])
if plaintext[i] in alphaL:
enc_char = ord('a') + (ord(plaintext[i])-ord('a')+rotate_amount)%26
decipher = chr(enc_char)
elif plaintext[i] in alphaU:
enc_char = ord('A') + (ord(plaintext[i])-ord('A')+rotate_amount)%26
decipher = chr(enc_char)
elif plaintext[i] in num:
enc_char = ord('0') + (ord(plaintext[i])-ord('0')+rotate_amount)%10
decipher = chr(enc_char)
else:
enc_char = ord(plaintext[i])
decipher = chr(enc_char)
ciphertext = ciphertext + chr(enc_char)
decipher = chr(enc_char) + decipher
print "Encryption complete, ENC(%s,%s) = %s"%(plaintext,key,decipher)
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCmltcG9ydCBzeXMKCmFscGhhTCA9ICJhYmNkZWZnaGlqa2xubW9wcXJzdHV2cXh5eiIKYWxwaGFVID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZRWFlaIgpudW0gICAgPSAiMDEyMzQ1Njc4OSIKa2V5Y2hhcnMgPSBudW0rYWxwaGFMK2FscGhhVQoKCmtleSA9ICJUMHBTM2NyZTdrZXkiCmlmIG5vdCBrZXkuaXNhbG51bSgpOgogIHByaW50ICJZb3VyIGtleSBpcyBpbnZhbGlkLCBpdCBtYXkgb25seSBiZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyIKICBzeXMuZXhpdCgpCgpwbGFpbnRleHQgPSAiPz8/IgoKY2lwaGVydGV4dCA9ICIiCmRlY2lwaGVyID0gIiIKZm9yIGkgaW4gcmFuZ2UobGVuKHBsYWludGV4dCkpOgogIHJvdGF0ZV9hbW91bnQgPSBrZXljaGFycy5pbmRleChrZXlbaSVsZW4oa2V5KV0pCiAgaWYgcGxhaW50ZXh0W2ldIGluIGFscGhhTDoKICAgIGVuY19jaGFyID0gb3JkKCdhJykgKyAob3JkKHBsYWludGV4dFtpXSktb3JkKCdhJykrcm90YXRlX2Ftb3VudCklMjYKICAgIGRlY2lwaGVyID0gY2hyKGVuY19jaGFyKQogIGVsaWYgcGxhaW50ZXh0W2ldIGluIGFscGhhVToKICAgIGVuY19jaGFyID0gb3JkKCdBJykgKyAob3JkKHBsYWludGV4dFtpXSktb3JkKCdBJykrcm90YXRlX2Ftb3VudCklMjYKICAgIGRlY2lwaGVyID0gY2hyKGVuY19jaGFyKQogIGVsaWYgcGxhaW50ZXh0W2ldIGluIG51bToKICAgIGVuY19jaGFyID0gb3JkKCcwJykgKyAob3JkKHBsYWludGV4dFtpXSktb3JkKCcwJykrcm90YXRlX2Ftb3VudCklMTAKICAgIGRlY2lwaGVyID0gY2hyKGVuY19jaGFyKQogIGVsc2U6CiAgICBlbmNfY2hhciA9IG9yZChwbGFpbnRleHRbaV0pCiAgICBkZWNpcGhlciA9IGNocihlbmNfY2hhcikKICBjaXBoZXJ0ZXh0ID0gY2lwaGVydGV4dCArIGNocihlbmNfY2hhcikKICBkZWNpcGhlciA9IGNocihlbmNfY2hhcikgKyBkZWNpcGhlcgoKcHJpbnQgIkVuY3J5cHRpb24gY29tcGxldGUsIEVOQyglcywlcykgPSAlcyIlKHBsYWludGV4dCxrZXksZGVjaXBoZXIpCg==
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCmltcG9ydCBzeXMKCmFscGhhTCA9ICZxdW90O2FiY2RlZmdoaWprbG5tb3BxcnN0dXZxeHl6JnF1b3Q7CmFscGhhVSA9ICZxdW90O0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZRWFlaJnF1b3Q7Cm51bSAgICA9ICZxdW90OzAxMjM0NTY3ODkmcXVvdDsKa2V5Y2hhcnMgPSBudW0rYWxwaGFMK2FscGhhVQoKCmtleSA9ICZxdW90O1QwcFMzY3JlN2tleSZxdW90OwppZiBub3Qga2V5LmlzYWxudW0oKToKICBwcmludCAmcXVvdDtZb3VyIGtleSBpcyBpbnZhbGlkLCBpdCBtYXkgb25seSBiZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyZxdW90OwogIHN5cy5leGl0KCkKCmNpcGhlcnRleHQgPSAmcXVvdDtCb3Qga213cyBtaWtmZXJ1aWdtemYgcm1mcnhyd3FlIGFicyBwZXJ1ZHNmISBOdm0ga2RhIHV0IGFiOGJ2X3c0dWUwX2FiOHZfRERVJnF1b3Q7CnBsYWludGV4dCA9ICZxdW90OyZxdW90OwpjaXBoZXJ0ZXh0ID0gJnF1b3Q7JnF1b3Q7Cgpmb3IgaSBpbiByYW5nZShsZW4oY2lwaGVydGV4dCkpOgogIHJvdGF0ZV9hbW91bnQgPSBrZXljaGFycy5pbmRleChrZXlbaSVsZW4oa2V5KV0pCiAgaWYgcGxhaW50ZXh0W2ldIGluIGFscGhhTDoKICAgIGVuY19jaGFyID0gb3JkKCdhJykgKyAob3JkKGNpcGhlcnRleHRbaV0pK29yZCgnYScpK3JvdGF0ZV9hbW91bnQpJTI2CgogIGVsaWYgcGxhaW50ZXh0W2ldIGluIGFscGhhVToKICAgIGVuY19jaGFyID0gb3JkKCdBJykgKyAob3JkKGNpcGhlcnRleHRbaV0pK29yZCgnQScpK3JvdGF0ZV9hbW91bnQpJTI2CgogIGVsaWYgcGxhaW50ZXh0W2ldIGluIG51bToKICAgIGVuY19jaGFyID0gb3JkKCcwJykgKyAob3JkKGNpcGhlcnRleHRbaV0pK29yZCgnMCcpK3JvdGF0ZV9hbW91bnQpJTEwCgogIGVsc2U6CiAgICBlbmNfY2hhciA9IG9yZChwbGFpbnRleHRbaV0pCgogIHBsYWludGV4dCA9IHBsYWludGV4dCArIGNocihlbmNfY2hhcikKICAKCnByaW50ICZxdW90O0VuY3J5cHRpb24gY29tcGxldGUsIEVOQyglcywlcykgPSAlcyZxdW90OyUocGxhaW50ZXh0LGtleSxjaXBoZXJ0ZXh0KQo=
#!/usr/bin/env python
import sys
alphaL = "abcdefghijklnmopqrstuvqxyz"
alphaU = "ABCDEFGHIJKLMNOPQRSTUVQXYZ"
num = "0123456789"
keychars = num+alphaL+alphaU
key = "T0pS3cre7key"
if not key.isalnum():
print "Your key is invalid, it may only be alphanumeric characters"
sys.exit()
ciphertext = "Bot kmws mikferuigmzf rmfrxrwqe abs perudsf! Nvm kda ut ab8bv_w4ue0_ab8v_DDU"
plaintext = ""
ciphertext = ""
for i in range(len(ciphertext)):
rotate_amount = keychars.index(key[i%len(key)])
if plaintext[i] in alphaL:
enc_char = ord('a') + (ord(ciphertext[i])+ord('a')+rotate_amount)%26
elif plaintext[i] in alphaU:
enc_char = ord('A') + (ord(ciphertext[i])+ord('A')+rotate_amount)%26
elif plaintext[i] in num:
enc_char = ord('0') + (ord(ciphertext[i])+ord('0')+rotate_amount)%10
else:
enc_char = ord(plaintext[i])
plaintext = plaintext + chr(enc_char)
print "Encryption complete, ENC(%s,%s) = %s"%(plaintext,key,ciphertext)