以下のバージョンphp7.1
/ * * MCRYPT_ENCRYPT加密 * php7.1开始被丢弃可以使用openssl_encrypt * / 関数AES_ENCRYPT($コンテンツ){ $のPrivateKey = "abcdef1234567890"。 $ IV = "helloworld123456"。 $コンテンツ=の$ this - > pkcs7_pad($コンテンツ); //支持openssl_decrypt解密、 $暗号化= MCRYPT_ENCRYPT(MCRYPT_RIJNDAEL_128、$のPrivateKey、$コンテンツ、MCRYPT_MODE_CBC、$ IV); $ based_encrypted = BASE64_ENCODE($暗号化されました)。 $ based_encryptedを返します。 }
/ * * MCRYPT_ENCRYPT解密 * / 関数AES_DECRYPT($コンテンツ){ $のPrivateKey = "abcdef1234567890"。 $ IV = "helloworld123456"。 $コンテンツ= BASE64_DECODE($コンテンツ); $ = MCRYPT_DECRYPT(MCRYPT_RIJNDAEL_128、$のPrivateKey、$コンテンツ、MCRYPT_MODE_CBC、$ IV)で暗号化されました。 暗号化された$を返します。 } 関数pkcs7_pad($列str){ $ LEN = mb_strlen($ STR、 '8ビット')。 $のC = 16 - ($%16 LEN)。 。$ strの=におけるSTR_Repeat(CHR($ c)は、$ c)は、 $ strの返します。 }
php7.1が使用されるようになったopenssl_encrypt破棄することができます
/ ** *解読文字列 * @param文字列$データ列 * @param文字列$キーの暗号化キー * @return文字列 * / 関数decryptWithOpenssl($データ、キー$、$のIV){ リターンopenssl_decrypt(BASE64_DECODE($データ) 、 "AES-CBC-128"、$キー、OPENSSL_RAW_DATA、$のIV); } / ** *暗号化された文字列 *サイト:https://segmentfault.com/q/1010000009624263 * @paramデータ列の文字列$ * @param文字列$キーの暗号化キー * @return文字列 * / 関数encryptWithOpenssl($データ、キー$、$のIV){ (openssl_encrypt($データ、 "AES-CBC-128"、$キー、OPENSSL_RAW_DATA、$ IV)BASE64_ENCODEを返します); }
使用
ヘッダ( "コンテンツタイプ:テキスト/ HTML;のcharset = UTF-8"); $のPrivateKey = "abcdef1234567890"; $ IV = "helloworld123456"; エコー"の<pre>"; $コンテンツ=「章暗号化テスト121212ksjflkdjslfsdjfljsセクション概要テスト終了「; $ aesencrypt = AES_ENCRYPT($コンテンツ); "AES_ENCRYPT暗号化:"エコー($ aesencrypt);. エコー""; $ = encrypt_openssl AES_DECRYPT($ aesencrypt); エコー"AES_DECRYPT復号:." ($のencrypt_openssl); ";"エコー $ encrypt_openssl = decryptWithOpenssl($ aesencrypt、のPrivateKey $、$ IV); "openssl_encrypt解読:"エコー($のencrypt_openssl);. "<BR/>"エコー; $ encrypt_openssl = encryptWithOpenssl($コンテンツ、$のPrivateKey、$ IV); 。 "openssl_encrypt加密:"エコー($のencrypt_openssl)。 "<BR/>"エコー; $ decrypt_openssl = decryptWithOpenssl($ encrypt_openssl、$のPrivateKey、$ IV); 。 "openssl_encrypt解密:"エコー($のdecrypt_openssl)。 "<BR/>"エコー; $ decrypt_openssl = AES_DECRYPT($のencrypt_openssl)。 。 "AES_DECRYPT解密:"エコー($のdecrypt_openssl)。 "<BR/>"エコー;