Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Vigenere Cipher solution in Uncategorized category for Vigenere Cipher by capback250
# migrated from python 2.7
import re
alpa = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
def table(n):
return [n[x:]+n[:x] for x in range(26)]
def shifrator(msg, chipher):
tab = table(alpa)
secret_word = str(parser(chipher) * int(len(msg) // len(parser(chipher))) + chipher[:len(msg) % len(parser(chipher))]) if len(msg) != len(chipher) else chipher
return ''.join([tab[alpa.index(msg[i])][alpa.index(secret_word[i])] for i in range(len(msg))])
def decode_vigenere(msg, secret_word, new):
tab = table(alpa)
shifr = ''.join([alpa[tab[alpa.index(secret_word[i])].index(msg[i])] for i in range(len(secret_word))])
return shifrator(new, shifr)
def parser(s):
for x in range(1, len(s)):
__pattern = re.findall(r'[A-Z]{%d}' % x, s)
if __pattern.count(__pattern[0]) == len(__pattern):
return __pattern[0]
Dec. 24, 2015