{"id":13722,"date":"2024-03-15T07:46:29","date_gmt":"2024-03-15T07:46:29","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/"},"modified":"2025-08-05T22:33:29","modified_gmt":"2025-08-05T22:33:29","slug":"how-to-implement-aes-encryption-and-decryption-in-php","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/","title":{"rendered":"PHP AES Encryption &#038; Decryption Guide"},"content":{"rendered":"<p>In PHP, you can use the OpenSSL library to perform AES encryption and decryption. Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">aesEncrypt<\/span>(<span class=\"hljs-params\"><span class=\"hljs-variable\">$data<\/span>, <span class=\"hljs-variable\">$key<\/span>, <span class=\"hljs-variable\">$iv<\/span><\/span>) <\/span>{\r\n    <span class=\"hljs-variable\">$encrypted<\/span> = <span class=\"hljs-title function_ invoke__\">openssl_encrypt<\/span>(<span class=\"hljs-variable\">$data<\/span>, <span class=\"hljs-string\">'AES-128-CBC'<\/span>, <span class=\"hljs-variable\">$key<\/span>, OPENSSL_RAW_DATA, <span class=\"hljs-variable\">$iv<\/span>);\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-title function_ invoke__\">base64_encode<\/span>(<span class=\"hljs-variable\">$encrypted<\/span>);\r\n}\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">aesDecrypt<\/span>(<span class=\"hljs-params\"><span class=\"hljs-variable\">$encryptedData<\/span>, <span class=\"hljs-variable\">$key<\/span>, <span class=\"hljs-variable\">$iv<\/span><\/span>) <\/span>{\r\n    <span class=\"hljs-variable\">$decrypted<\/span> = <span class=\"hljs-title function_ invoke__\">openssl_decrypt<\/span>(<span class=\"hljs-title function_ invoke__\">base64_decode<\/span>(<span class=\"hljs-variable\">$encryptedData<\/span>), <span class=\"hljs-string\">'AES-128-CBC'<\/span>, <span class=\"hljs-variable\">$key<\/span>, OPENSSL_RAW_DATA, <span class=\"hljs-variable\">$iv<\/span>);\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-variable\">$decrypted<\/span>;\r\n}\r\n\r\n<span class=\"hljs-variable\">$key<\/span> = <span class=\"hljs-string\">'0123456789abcdef'<\/span>; <span class=\"hljs-comment\">\/\/ \u5bc6\u94a5\uff0c\u5fc5\u987b\u662f16\u5b57\u8282<\/span>\r\n<span class=\"hljs-variable\">$iv<\/span> = <span class=\"hljs-string\">'1234567890abcdef'<\/span>; <span class=\"hljs-comment\">\/\/ \u521d\u59cb\u5316\u5411\u91cf\uff0c\u5fc5\u987b\u662f16\u5b57\u8282<\/span>\r\n\r\n<span class=\"hljs-variable\">$plainText<\/span> = <span class=\"hljs-string\">'Hello, World!'<\/span>;\r\n\r\n<span class=\"hljs-variable\">$encryptedData<\/span> = <span class=\"hljs-title function_ invoke__\">aesEncrypt<\/span>(<span class=\"hljs-variable\">$plainText<\/span>, <span class=\"hljs-variable\">$key<\/span>, <span class=\"hljs-variable\">$iv<\/span>);\r\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Encrypted: '<\/span> . <span class=\"hljs-variable\">$encryptedData<\/span> . <span class=\"hljs-string\">\"\\n\"<\/span>;\r\n\r\n<span class=\"hljs-variable\">$decryptedData<\/span> = <span class=\"hljs-title function_ invoke__\">aesDecrypt<\/span>(<span class=\"hljs-variable\">$encryptedData<\/span>, <span class=\"hljs-variable\">$key<\/span>, <span class=\"hljs-variable\">$iv<\/span>);\r\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">'Decrypted: '<\/span> . <span class=\"hljs-variable\">$decryptedData<\/span> . <span class=\"hljs-string\">\"\\n\"<\/span>;\r\n<\/code><\/pre>\n<p>Please note that the key and initialization vector (IV) in the above code must both be strings of 16 bytes in length. In practice, please generate secure key and IV based on your specific circumstances.<\/p>\n<p>Additionally, make sure that the openssl extension for PHP is enabled, you can confirm this by checking the php.ini file or running the phpinfo() function.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In PHP, you can use the OpenSSL library to perform AES encryption and decryption. Here is an example code: function aesEncrypt($data, $key, $iv) { $encrypted = openssl_encrypt($data, &#8216;AES-128-CBC&#8217;, $key, OPENSSL_RAW_DATA, $iv); return base64_encode($encrypted); } function aesDecrypt($encryptedData, $key, $iv) { $decrypted = openssl_decrypt(base64_decode($encryptedData), &#8216;AES-128-CBC&#8217;, $key, OPENSSL_RAW_DATA, $iv); return $decrypted; } $key = &#8216;0123456789abcdef&#8217;; \/\/ \u5bc6\u94a5\uff0c\u5fc5\u987b\u662f16\u5b57\u8282 $iv [&hellip;]<\/p>\n","protected":false},"author":13,"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":[18349,18347,18350,18348,854],"class_list":["post-13722","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-aes-decryption","tag-aes-encryption-in-php","tag-cryptographic-functions-php","tag-php-openssl","tag-php-security"],"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>PHP AES Encryption &amp; Decryption Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to implement AES encryption\/decryption in PHP with OpenSSL using practical 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-implement-aes-encryption-and-decryption-in-php\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP AES Encryption &amp; Decryption Guide\" \/>\n<meta property=\"og:description\" content=\"Learn to implement AES encryption\/decryption in PHP with OpenSSL using practical code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/\" \/>\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-15T07:46:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T22:33:29+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\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=\"Isabella Edwards\" \/>\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-implement-aes-encryption-and-decryption-in-php\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"PHP AES Encryption &#038; Decryption Guide\",\"datePublished\":\"2024-03-15T07:46:29+00:00\",\"dateModified\":\"2025-08-05T22:33:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/\"},\"wordCount\":84,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"AES decryption\",\"AES encryption in PHP\",\"Cryptographic functions PHP\",\"PHP OpenSSL\",\"PHP security\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/\",\"name\":\"PHP AES Encryption & Decryption Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T07:46:29+00:00\",\"dateModified\":\"2025-08-05T22:33:29+00:00\",\"description\":\"Learn to implement AES encryption\/decryption in PHP with OpenSSL using practical code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP AES 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\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PHP AES Encryption & Decryption Guide - Blog - Silicon Cloud","description":"Learn to implement AES encryption\/decryption in PHP with OpenSSL using practical 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-implement-aes-encryption-and-decryption-in-php\/","og_locale":"en_US","og_type":"article","og_title":"PHP AES Encryption & Decryption Guide","og_description":"Learn to implement AES encryption\/decryption in PHP with OpenSSL using practical code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T07:46:29+00:00","article_modified_time":"2025-08-05T22:33:29+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"PHP AES Encryption &#038; Decryption Guide","datePublished":"2024-03-15T07:46:29+00:00","dateModified":"2025-08-05T22:33:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/"},"wordCount":84,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["AES decryption","AES encryption in PHP","Cryptographic functions PHP","PHP OpenSSL","PHP security"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/","name":"PHP AES Encryption & Decryption Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T07:46:29+00:00","dateModified":"2025-08-05T22:33:29+00:00","description":"Learn to implement AES encryption\/decryption in PHP with OpenSSL using practical code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-aes-encryption-and-decryption-in-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP AES 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\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13722","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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13722"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13722\/revisions"}],"predecessor-version":[{"id":157725,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13722\/revisions\/157725"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}