{"id":426,"date":"2017-07-27T09:43:28","date_gmt":"2017-07-27T01:43:28","guid":{"rendered":"https:\/\/www.dd-home.top\/?p=426"},"modified":"2017-07-27T09:43:28","modified_gmt":"2017-07-27T01:43:28","slug":"java-aescbcpkcs5padding-%e5%8a%a0%e8%a7%a3%e5%af%86","status":"publish","type":"post","link":"https:\/\/www.dd-home.top\/?p=426","title":{"rendered":"Java AES\/CBC\/PKCS5PADDING \u52a0\u89e3\u5bc6"},"content":{"rendered":"<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p><pre class=\"brush:java;toolbar:false\">package\u00a0com.nbad.push.utils;\n\nimport\u00a0org.apache.commons.codec.binary.Base64;\n\nimport\u00a0javax.crypto.BadPaddingException;\nimport\u00a0javax.crypto.Cipher;\nimport\u00a0javax.crypto.IllegalBlockSizeException;\nimport\u00a0javax.crypto.NoSuchPaddingException;\nimport\u00a0javax.crypto.spec.IvParameterSpec;\nimport\u00a0javax.crypto.spec.SecretKeySpec;\nimport\u00a0java.io.UnsupportedEncodingException;\nimport\u00a0java.security.InvalidAlgorithmParameterException;\nimport\u00a0java.security.InvalidKeyException;\nimport\u00a0java.security.NoSuchAlgorithmException;\n\npublic\u00a0class\u00a0EncryptDecrypt\u00a0{\n\n\u00a0\u00a0\u00a0\u00a0private\u00a0static\u00a0final\u00a0String\u00a0IV_PARAMETER_SPEC\u00a0=\u00a0\"weJiSEvR5yAC5ftB\";\n\u00a0\u00a0\u00a0\u00a0static\u00a0final\u00a0String\u00a0SECRET_KEY_SPEC\u00a0=\u00a0\"weJiSEvR5yAC5ftB\";\n\n\u00a0\u00a0\u00a0\u00a0public\u00a0static\u00a0String\u00a0encrypt(String\u00a0toBeEncrypt)\u00a0throws\u00a0NoSuchPaddingException,\u00a0NoSuchAlgorithmException,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0InvalidAlgorithmParameterException,\u00a0InvalidKeyException,\u00a0BadPaddingException,\u00a0IllegalBlockSizeException,\u00a0UnsupportedEncodingException\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0IvParameterSpec\u00a0ivParameterSpec\u00a0=\u00a0new\u00a0IvParameterSpec(IV_PARAMETER_SPEC.getBytes(\"UTF-8\"));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SecretKeySpec\u00a0secretKeySpec\u00a0=\u00a0new\u00a0SecretKeySpec(SECRET_KEY_SPEC.getBytes(\"UTF-8\"),\u00a0\"AES\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Cipher\u00a0cipher\u00a0=\u00a0Cipher.getInstance(\"AES\/CBC\/PKCS5PADDING\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0cipher.init(Cipher.ENCRYPT_MODE,\u00a0secretKeySpec,\u00a0ivParameterSpec);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0byte[]\u00a0encrypted\u00a0=\u00a0cipher.doFinal(toBeEncrypt.getBytes(\"UTF-8\"));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return\u00a0Base64.encodeBase64String(encrypted);\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0public\u00a0static\u00a0String\u00a0decrypt(String\u00a0encrypted)\u00a0throws\u00a0InvalidAlgorithmParameterException,\u00a0InvalidKeyException,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0BadPaddingException,\u00a0IllegalBlockSizeException,\u00a0NoSuchPaddingException,\u00a0NoSuchAlgorithmException,\u00a0UnsupportedEncodingException\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0IvParameterSpec\u00a0ivParameterSpec\u00a0=\u00a0new\u00a0IvParameterSpec(IV_PARAMETER_SPEC.getBytes(\"UTF-8\"));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0SecretKeySpec\u00a0secretKeySpec\u00a0=\u00a0new\u00a0SecretKeySpec(SECRET_KEY_SPEC.getBytes(\"UTF-8\"),\u00a0\"AES\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Cipher\u00a0cipher\u00a0=\u00a0Cipher.getInstance(\"AES\/CBC\/PKCS5PADDING\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0cipher.init(Cipher.DECRYPT_MODE,\u00a0secretKeySpec,\u00a0ivParameterSpec);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0byte[]\u00a0decryptedBytes\u00a0=\u00a0cipher.doFinal(Base64.decodeBase64(encrypted));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return\u00a0new\u00a0String(decryptedBytes,\"UTF-8\");\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0public\u00a0static\u00a0void\u00a0main(String[]\u00a0args)\u00a0throws\u00a0NoSuchPaddingException,\u00a0UnsupportedEncodingException,\u00a0InvalidKeyException,\u00a0NoSuchAlgorithmException,\u00a0IllegalBlockSizeException,\u00a0BadPaddingException,\u00a0InvalidAlgorithmParameterException\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0String\u00a0encrypt\u00a0=\u00a0encrypt(\"woaini\");\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(encrypt);\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0String\u00a0decrypt\u00a0=\u00a0decrypt(encrypt);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0System.out.println(decrypt);\n\u00a0\u00a0\u00a0\u00a0}\n}<\/pre>\n<p>&nbsp;<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-426","post","type-post","status-publish","format-standard","hentry","category-18"],"_links":{"self":[{"href":"https:\/\/www.dd-home.top\/index.php?rest_route=\/wp\/v2\/posts\/426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dd-home.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dd-home.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dd-home.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dd-home.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=426"}],"version-history":[{"count":0,"href":"https:\/\/www.dd-home.top\/index.php?rest_route=\/wp\/v2\/posts\/426\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dd-home.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dd-home.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dd-home.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}