{"id":246,"date":"2017-07-21T13:00:28","date_gmt":"2017-07-21T12:00:28","guid":{"rendered":"http:\/\/192.168.1.18\/?page_id=246"},"modified":"2017-07-24T22:40:12","modified_gmt":"2017-07-24T21:40:12","slug":"python-code-snippets-encryption","status":"publish","type":"page","link":"http:\/\/www.bulis.co.uk\/?page_id=246","title":{"rendered":"Python: Code Snippets &#8211; Encryption"},"content":{"rendered":"<p>This code snippet will encrypt and decrypt any message.<\/p>\n<p>To run this script copy the code below and save to a file called encryption.py<\/p>\n<p>encryption.py<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n#!\/usr\/bin\/env python\r\n\r\n# Encryption\r\n# A quick way to encrypt and decrypt using AES\r\n# and displays results in base 64\r\n\r\n# Date: 07 March 2016\r\n# Written By: Phantom Raspberry Blower\r\n\r\nimport base64\r\nfrom Crypto.Cipher import AES\r\n\r\nclass Encryption():\r\n\r\n    # Initialize\r\n    def __init__(self, key):\r\n        # Pad with leading zeros to ensure key length = 16\r\n        self.key = key.zfill(16)\r\n        self.iv = 'PRB StrikesAgain'\r\n\r\n    # Encrypt message\r\n    def encrypt_msg(self, msg):\r\n        objAES = AES.new(self.key, AES.MODE_CFB, self.iv)\r\n        cipher_txt = objAES.encrypt(msg)\r\n        return base64.b64encode(cipher_txt)\r\n\r\n    # Decrypt message\r\n    def decrypt_msg(self, msg):\r\n        objAES = AES.new(self.key, AES.MODE_CFB, self.iv)\r\n        cipher_txt = base64.b64decode(msg)\r\n        return objAES.decrypt(cipher_txt)\r\n\r\n# Check if running stand-alone or imported\r\nif __name__ == '__main__':\r\n    from encryption import Encryption\r\n    try:\r\n        key = raw_input('Enter the key to encrypt: ')\r\n        encryption = Encryption(key)\r\n        while True:\r\n            # Prompt user encryption passphrase\r\n            passphrase = raw_input('Enter the passphrase to encrypt: ')\r\n            if passphrase:\r\n                print ''\r\n                # Enctrypt the passhrase\r\n                encrypt = encryption.encrypt_msg(passphrase)\r\n                print 'Encrypted: %s' % encrypt\r\n                # Decrypt the encrypted passphrase\r\n                decrypt = encryption.decrypt_msg(encrypt)\r\n                print 'Decrypted: %s' % decrypt\r\n                print ''\r\n            else:\r\n                print &quot;\\nQuit&quot;\r\n                break\r\n    except KeyboardInterrupt:\r\n        print &quot;\\nQuit&quot;\r\n\r\n<\/pre>\n<p>Output:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\npython encryption.py\r\nEnter the key to encrypt: PRB Woz Ere\r\nEnter the passphrase to encrypt: A message to you Rudy!\r\n\r\nEncrypted: y1ATFeZ3qT\/EzGc8Qhb0rTd4u1+TFA==\r\nDecrypted: A message to you Rudy!\r\n\r\nEnter the passphrase to encrypt:\r\n\r\nQuit\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This code snippet will encrypt and decrypt any message. To run this script copy the code below and save to a file called encryption.py encryption.py #!\/usr\/bin\/env python # Encryption # A quick way to encrypt and decrypt using AES # and displays results in base 64 # Date: 07 March 2016 # Written By: Phantom [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":239,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.12 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python: Code Snippets - Encryption - Phantom Raspberry Blower<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.bulis.co.uk\/?page_id=246\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python: Code Snippets - Encryption - Phantom Raspberry Blower\" \/>\n<meta property=\"og:description\" content=\"This code snippet will encrypt and decrypt any message. To run this script copy the code below and save to a file called encryption.py encryption.py #!\/usr\/bin\/env python # Encryption # A quick way to encrypt and decrypt using AES # and displays results in base 64 # Date: 07 March 2016 # Written By: Phantom [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.bulis.co.uk\/?page_id=246\" \/>\n<meta property=\"og:site_name\" content=\"Phantom Raspberry Blower\" \/>\n<meta property=\"article:modified_time\" content=\"2017-07-24T21:40:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.bulis.co.uk\/?page_id=246\",\"url\":\"http:\/\/www.bulis.co.uk\/?page_id=246\",\"name\":\"Python: Code Snippets - Encryption - Phantom Raspberry Blower\",\"isPartOf\":{\"@id\":\"http:\/\/www.bulis.co.uk\/#website\"},\"datePublished\":\"2017-07-21T12:00:28+00:00\",\"dateModified\":\"2017-07-24T21:40:12+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/www.bulis.co.uk\/?page_id=246#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.bulis.co.uk\/?page_id=246\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.bulis.co.uk\/?page_id=246#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/www.bulis.co.uk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorials\",\"item\":\"http:\/\/www.bulis.co.uk\/?page_id=57\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python Tutorials\",\"item\":\"http:\/\/www.bulis.co.uk\/?page_id=73\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Python: Code Snippets\",\"item\":\"http:\/\/www.bulis.co.uk\/?page_id=239\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Python: Code Snippets &#8211; Encryption\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.bulis.co.uk\/#website\",\"url\":\"http:\/\/www.bulis.co.uk\/\",\"name\":\"Phantom Raspberry Blower\",\"description\":\"Blowing Raspberrys since 1989\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.bulis.co.uk\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python: Code Snippets - Encryption - Phantom Raspberry Blower","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.bulis.co.uk\/?page_id=246","og_locale":"en_GB","og_type":"article","og_title":"Python: Code Snippets - Encryption - Phantom Raspberry Blower","og_description":"This code snippet will encrypt and decrypt any message. To run this script copy the code below and save to a file called encryption.py encryption.py #!\/usr\/bin\/env python # Encryption # A quick way to encrypt and decrypt using AES # and displays results in base 64 # Date: 07 March 2016 # Written By: Phantom [&hellip;]","og_url":"http:\/\/www.bulis.co.uk\/?page_id=246","og_site_name":"Phantom Raspberry Blower","article_modified_time":"2017-07-24T21:40:12+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.bulis.co.uk\/?page_id=246","url":"http:\/\/www.bulis.co.uk\/?page_id=246","name":"Python: Code Snippets - Encryption - Phantom Raspberry Blower","isPartOf":{"@id":"http:\/\/www.bulis.co.uk\/#website"},"datePublished":"2017-07-21T12:00:28+00:00","dateModified":"2017-07-24T21:40:12+00:00","breadcrumb":{"@id":"http:\/\/www.bulis.co.uk\/?page_id=246#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.bulis.co.uk\/?page_id=246"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.bulis.co.uk\/?page_id=246#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/www.bulis.co.uk\/"},{"@type":"ListItem","position":2,"name":"Tutorials","item":"http:\/\/www.bulis.co.uk\/?page_id=57"},{"@type":"ListItem","position":3,"name":"Python Tutorials","item":"http:\/\/www.bulis.co.uk\/?page_id=73"},{"@type":"ListItem","position":4,"name":"Python: Code Snippets","item":"http:\/\/www.bulis.co.uk\/?page_id=239"},{"@type":"ListItem","position":5,"name":"Python: Code Snippets &#8211; Encryption"}]},{"@type":"WebSite","@id":"http:\/\/www.bulis.co.uk\/#website","url":"http:\/\/www.bulis.co.uk\/","name":"Phantom Raspberry Blower","description":"Blowing Raspberrys since 1989","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.bulis.co.uk\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"}]}},"_links":{"self":[{"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/246"}],"collection":[{"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=246"}],"version-history":[{"count":0,"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/246\/revisions"}],"up":[{"embeddable":true,"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/239"}],"wp:attachment":[{"href":"http:\/\/www.bulis.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}