{"id":34,"date":"2024-09-26T12:43:25","date_gmt":"2024-09-26T16:43:25","guid":{"rendered":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/?page_id=34"},"modified":"2024-09-26T21:08:50","modified_gmt":"2024-09-27T01:08:50","slug":"__trashed","status":"publish","type":"page","link":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/__trashed\/","title":{"rendered":"Python Project-Cipher"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>def caesar_encode(text, shift):\n    result = ''\n    for char in text:\n        if char.isalpha():\n            #assign values to plaintext using ascii\n            start = ord('a') if char.islower() else ord('A')\n            #determine ascii value of encrypted text\n            shifted_char = chr((ord(char) - start + shift) % 26 + start)\n        else:\n            shifted_char = char\n            #append to result\n        result += shifted_char\n    return result\n\ndef caesar_decode(text, shift):\n    result = ''\n    for char in text:\n        if char.isalpha():\n            start = ord('a') if char.islower() else ord('A')\n            shifted_char = chr((ord(char) - start - shift) % 26 + start)\n        else:\n            shifted_char = char\n        result += shifted_char\n    return result\n\ndef vignere_encode(text, key):\n    result = ''\n    key = key.upper()\n    key_index = 0\n    #loop iterates through each character in text\n    for i, char in enumerate(text):\n        if char.isalpha():\n            start = ord('a') if char.islower() else ord('A')\n            shift = ord(key&#091;key_index % len(key)]) - ord('A')\n            shifted_char = chr((ord(char) - start + shift) % 26 + start)\n            key_index += 1\n        else:\n            shifted_char = char\n        result += shifted_char\n    return result\n\ndef vignere_decode(text, key):\n    result = ''\n    key = key.upper()\n    key_index = 0\n    for i, char in enumerate(text):\n        if char.isalpha():\n            start = ord('a') if char.islower() else ord('A')\n            shift = ord(key&#091;key_index % len(key)]) - ord('A')\n            shifted_char = chr((ord(char) - start - shift) % 26 + start)\n            key_index += 1\n        else:\n            shifted_char = char\n        result += shifted_char\n    return result\nmode2= \"\"\nmode = input(\"Choose mode (caesar\/vignere): \")\nmode3 = input(\"encode\/decode:\")\ntext = input(\"Enter text: \")\nif mode3 == \"decode\":\n    if mode == 'caesar' or mode == 'vignere':\n        if mode == 'caesar':\n            mode2 = input(\"Known shift?(y\/n)\")\n            if mode2 == 'y':\n                shift = int(input(\"Enter shift amount: \"))\n                decrypted_text = caesar_decode(text, shift)\n                print(\"Decrypted text:\", decrypted_text)\n            elif mode2 == 'n':\n                decoded_array = &#091;]\n                for x in range(27):\n                    decrypted_text=caesar_decode(text, x)\n                    print(\"\\nPossible decrypted text:\",decrypted_text)\n                    decoded_array.append(decrypted_text)\n                print(\"\\ncondensed:\\n\", decoded_array)\n            else:\n                print(\"Invalid input. Please enter 'y' or 'n'.\")\n                exit()\n        elif mode == 'vignere':\n            key = input(\"Enter the key: \")\n            decrypted_text = vignere_decode(text, key)\n            print(\"Decrypted text:\", decrypted_text)\nelif mode3 == \"encode\":\n    if mode == 'caesar':\n        shift = int(input(\"Enter shift amount: \"))\n        encrypted_text = caesar_encode(text, shift)\n        print(\"Encrypted text:\", encrypted_text)\n    elif mode == 'vignere':\n        key = input(\"Enter the key: \")\n        encrypted_text = vignere_encode(text, key)\n        print(\"Encrypted text:\", encrypted_text)\nelse:\n    print(\"Invalid mode.\")\n    exit()\n\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-34","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/pages\/34","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/comments?post=34"}],"version-history":[{"count":5,"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/pages\/34\/revisions"}],"predecessor-version":[{"id":43,"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/pages\/34\/revisions\/43"}],"wp:attachment":[{"href":"https:\/\/wp.stgeorges.bc.ca\/aaronc\/wp-json\/wp\/v2\/media?parent=34"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}