{"id":11151,"date":"2024-03-14T13:31:25","date_gmt":"2024-03-14T13:31:25","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/"},"modified":"2025-08-04T08:13:43","modified_gmt":"2025-08-04T08:13:43","slug":"how-to-encrypt-and-decrypt-files-in-python","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/","title":{"rendered":"Python File Encryption &#038; Decryption Guide"},"content":{"rendered":"<p>To encrypt and decrypt files, you can use encryption modules like cryptography or PyCrypto in Python. Below is an example code using the PyCrypto module for file encryption and decryption.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">from<\/span> Crypto.Cipher <span class=\"hljs-keyword\">import<\/span> AES\r\n<span class=\"hljs-keyword\">from<\/span> Crypto.Random <span class=\"hljs-keyword\">import<\/span> get_random_bytes\r\n\r\n<span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">encrypt_file<\/span>(<span class=\"hljs-params\">input_file, output_file, key<\/span>):\r\n    cipher = AES.new(key, AES.MODE_EAX)\r\n    <span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(input_file, <span class=\"hljs-string\">'rb'<\/span>) <span class=\"hljs-keyword\">as<\/span> f_in:\r\n        data = f_in.read()\r\n        nonce = cipher.nonce\r\n        ciphertext, tag = cipher.encrypt_and_digest(data)\r\n    \r\n    <span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(output_file, <span class=\"hljs-string\">'wb'<\/span>) <span class=\"hljs-keyword\">as<\/span> f_out:\r\n        f_out.write(nonce)\r\n        f_out.write(tag)\r\n        f_out.write(ciphertext)\r\n\r\n<span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">decrypt_file<\/span>(<span class=\"hljs-params\">input_file, output_file, key<\/span>):\r\n    <span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(input_file, <span class=\"hljs-string\">'rb'<\/span>) <span class=\"hljs-keyword\">as<\/span> f_in:\r\n        nonce = f_in.read(<span class=\"hljs-number\">16<\/span>)\r\n        tag = f_in.read(<span class=\"hljs-number\">16<\/span>)\r\n        ciphertext = f_in.read()\r\n    \r\n    cipher = AES.new(key, AES.MODE_EAX, nonce=nonce)\r\n    data = cipher.decrypt_and_verify(ciphertext, tag)\r\n    \r\n    <span class=\"hljs-keyword\">with<\/span> <span class=\"hljs-built_in\">open<\/span>(output_file, <span class=\"hljs-string\">'wb'<\/span>) <span class=\"hljs-keyword\">as<\/span> f_out:\r\n        f_out.write(data)\r\n\r\n<span class=\"hljs-comment\"># Generate a random key<\/span>\r\nkey = get_random_bytes(<span class=\"hljs-number\">16<\/span>)\r\n\r\n<span class=\"hljs-comment\"># Encrypt a file<\/span>\r\nencrypt_file(<span class=\"hljs-string\">'input.txt'<\/span>, <span class=\"hljs-string\">'encrypted.txt'<\/span>, key)\r\n\r\n<span class=\"hljs-comment\"># Decrypt the encrypted file<\/span>\r\ndecrypt_file(<span class=\"hljs-string\">'encrypted.txt'<\/span>, <span class=\"hljs-string\">'output.txt'<\/span>, key)\r\n<\/code><\/pre>\n<p>In the example above, we first encrypt the input file using the encrypt_file() function, and then decrypt the encrypted file using the decrypt_file() function. During the encryption and decryption process, we utilize the AES encryption algorithm and a randomly generated 16-byte key.<\/p>\n<p>Please make sure to keep the encryption key secure when encrypting and decrypting files to ensure correct decryption of the files.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To encrypt and decrypt files, you can use encryption modules like cryptography or PyCrypto in Python. Below is an example code using the PyCrypto module for file encryption and decryption. from Crypto.Cipher import AES from Crypto.Random import get_random_bytes def encrypt_file(input_file, output_file, key): cipher = AES.new(key, AES.MODE_EAX) with open(input_file, &#8216;rb&#8217;) as f_in: data = f_in.read() nonce [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[14,2327,44,14247,72],"class_list":["post-11151","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-cryptography","tag-data-security","tag-file-encryption","tag-pycrypto","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python File Encryption &amp; Decryption Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to encrypt\/decrypt files in Python using PyCrypto &amp; cryptography modules with code examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python File Encryption &amp; Decryption Guide\" \/>\n<meta property=\"og:description\" content=\"Learn to encrypt\/decrypt files in Python using PyCrypto &amp; cryptography modules with code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T13:31:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T08:13:43+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"Python File Encryption &#038; Decryption Guide\",\"datePublished\":\"2024-03-14T13:31:25+00:00\",\"dateModified\":\"2025-08-04T08:13:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/\"},\"wordCount\":100,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"cryptography\",\"data security\",\"file encryption\",\"PyCrypto\",\"Python\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/\",\"name\":\"Python File Encryption & Decryption Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T13:31:25+00:00\",\"dateModified\":\"2025-08-04T08:13:43+00:00\",\"description\":\"Learn to encrypt\/decrypt files in Python using PyCrypto & cryptography modules with code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python File Encryption &#038; Decryption Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python File Encryption & Decryption Guide - Blog - Silicon Cloud","description":"Learn to encrypt\/decrypt files in Python using PyCrypto & cryptography modules with code examples.","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":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/","og_locale":"en_US","og_type":"article","og_title":"Python File Encryption & Decryption Guide","og_description":"Learn to encrypt\/decrypt files in Python using PyCrypto & cryptography modules with code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T13:31:25+00:00","article_modified_time":"2025-08-04T08:13:43+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"Python File Encryption &#038; Decryption Guide","datePublished":"2024-03-14T13:31:25+00:00","dateModified":"2025-08-04T08:13:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/"},"wordCount":100,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["cryptography","data security","file encryption","PyCrypto","Python"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/","name":"Python File Encryption & Decryption Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T13:31:25+00:00","dateModified":"2025-08-04T08:13:43+00:00","description":"Learn to encrypt\/decrypt files in Python using PyCrypto & cryptography modules with code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-encrypt-and-decrypt-files-in-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python File Encryption &#038; Decryption Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=11151"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11151\/revisions"}],"predecessor-version":[{"id":154921,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11151\/revisions\/154921"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=11151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=11151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=11151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}