XOR string against a given key



Published: 2017-08-03 23:33:58 +0000
Categories: Python,

Language

Python

Description

Takes an ASCII string and XOR's it against a given "key"

Basically a really crappy encryption mechanism, though it can be useful in cryptanalysis (as it's symmetrical)

Returns the resulting string in a hex encoded form

Snippet

def xorwithmykey(str,key):

    kp = 0
    newbuf = []

    for i in range(len(str)):
        newchar = ord(str[i]) ^ ord(key[kp])
        newbuf.append(chr(newchar))

        kp = kp + 1
        if kp >= len(key):
            kp = 0

    return ''.join(newbuf).encode('hex')

Usage Example

>>> print xorwithmykey('foobarsed','MYS3CUR3K3Y')
2b363c51222721562f

>>> '2b363c51222721562f'.decode('hex')
'+6<Q"\'!V/'

>>> print xorwithmykey('2b363c51222721562f'.decode('hex'),'MYS3CUR3K3Y').decode('hex')
foobarsed

License

BSD-3-Clause

Keywords

XOR, EBC, string, key, encryption,

Latest Posts

Remotely backing up PFsense Configuration (BASH)
FFMPEG: Converting RMVB to X264 MP4 (BASH)
Recursively print table (print_r equivalent) (LUA)
Bulk Delete Comments from (Self-Hosted) JIRA Issues (Misc)
Add a static entry to the ARP table (BASH)
SSL Cipher Hex codes to Human Readable Names (Misc)
Convert Ascii to Binary (BASH)
Intercepting Outbound DNS Queries (BASH)
Handle Google Verification files within NGinx Configuration (NGinx)
Getting WhatsApp Rich Snippet Previews Working (Misc)

Copyright © 2018 Ben Tasker | Sitemap | Privacy Policy
Available at snippets.bentasker.co.uk and snippets.6zdgh5a5e6zpchdz.onion