Skip to content

Instantly share code, notes, and snippets.

@madgen
Last active December 20, 2015 00:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save madgen/6046231 to your computer and use it in GitHub Desktop.
Save madgen/6046231 to your computer and use it in GitHub Desktop.
So bored that just wrote a oneliner for deciphering (or more like brute forcing) substitution cipher.
# Works on English alphabet with capital letters.
# Code with example usage
ruby -e "(1..25).each {|i| puts ARGV[0].chars.map {|e| Hash[('A'..'Z').zip(0..25)].invert[(Hash[('A'..'Z').zip(0..25)][e] + i) % 26]}.join('') + %Q|\n\n|}" ESLRPPAKPPFAUWPPKGPPOWPPSJWPPFAUW
# Output
FTMSQQBLQQGBVXQQLHQQPXQQTKXQQGBVX
GUNTRRCMRRHCWYRRMIRRQYRRULYRRHCWY
HVOUSSDNSSIDXZSSNJSSRZSSVMZSSIDXZ
IWPVTTEOTTJEYATTOKTTSATTWNATTJEYA
JXQWUUFPUUKFZBUUPLUUTBUUXOBUUKFZB
KYRXVVGQVVLGACVVQMVVUCVVYPCVVLGAC
LZSYWWHRWWMHBDWWRNWWVDWWZQDWWMHBD
MATZXXISXXNICEXXSOXXWEXXAREXXNICE # <-- This little fella.
NBUAYYJTYYOJDFYYTPYYXFYYBSFYYOJDF
OCVBZZKUZZPKEGZZUQZZYGZZCTGZZPKEG
PDWCAALVAAQLFHAAVRAAZHAADUHAAQLFH
QEXDBBMWBBRMGIBBWSBBAIBBEVIBBRMGI
RFYECCNXCCSNHJCCXTCCBJCCFWJCCSNHJ
SGZFDDOYDDTOIKDDYUDDCKDDGXKDDTOIK
THAGEEPZEEUPJLEEZVEEDLEEHYLEEUPJL
UIBHFFQAFFVQKMFFAWFFEMFFIZMFFVQKM
VJCIGGRBGGWRLNGGBXGGFNGGJANGGWRLN
WKDJHHSCHHXSMOHHCYHHGOHHKBOHHXSMO
XLEKIITDIIYTNPIIDZIIHPIILCPIIYTNP
YMFLJJUEJJZUOQJJEAJJIQJJMDQJJZUOQ
ZNGMKKVFKKAVPRKKFBKKJRKKNERKKAVPR
AOHNLLWGLLBWQSLLGCLLKSLLOFSLLBWQS
BPIOMMXHMMCXRTMMHDMMLTMMPGTMMCXRT
CQJPNNYINNDYSUNNIENNMUNNQHUNNDYSU
DRKQOOZJOOEZTVOOJFOONVOORIVOOEZTV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment