Heim  >  Artikel  >  Backend-Entwicklung  >  PHP wie das Umschalten zwischen bin2hex und hex2bin durch AES-Verschlüsselung/-Entschlüsselung

PHP wie das Umschalten zwischen bin2hex und hex2bin durch AES-Verschlüsselung/-Entschlüsselung

零到壹度
零到壹度Original
2018-03-29 11:45:222806Durchsuche

Dieser Artikel enthält hauptsächlich einen Artikel über die PHP-Umschaltung zwischen bin2hex und hex2bin durch AES-Verschlüsselung/-Entschlüsselung. Er hat einen guten Referenzwert und ich hoffe, dass er für alle hilfreich sein wird. Folgen wir dem Herausgeber und werfen wir einen Blick darauf.

<?php
     
        /**
         * 通过AES加密请求数据
         * 
         * @param array $query
         * @return string
         */
        function AESEncryptRequest($encryptKey, $query){
            return $this->encrypt_pass($query,$encryptKey);
            
        }
        // 加密
        function encrypt_pass($input, $key) {
 
            $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
 
            $input = pkcs5_pad($input, $size);
 
            $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, &#39;&#39;, MCRYPT_MODE_ECB, &#39;&#39;);
            $iv = &#39;0102030405060708&#39;;
            mcrypt_generic_init($td, $key, $iv);
            $data = mcrypt_generic($td, $input);
            mcrypt_generic_deinit($td);
            mcrypt_module_close($td);
 
            $data = bin2hex($data);
            return $data;
        }
        //填充
        function pkcs5_pad ($text, $blocksize) {
            $pad = $blocksize - (strlen($text) % $blocksize);
            return $text . str_repeat(chr($pad), $pad);
        }
    
        /**
         * 通过AES解密请求数据
         * 
         * @param array $query
         * @return string
         */
        function AESDecryptResponse($encryptKey,$data){
            return $this->decrypt_pass($data,$encryptKey);
            
        }
        // 解密
        function decrypt_pass($sStr, $sKey) {
            $iv = &#39;0102030405060708&#39;;
            $decrypted= mcrypt_decrypt(
                MCRYPT_RIJNDAEL_128,
                $sKey,
                hex2bin($sStr),
                MCRYPT_MODE_ECB,
                $iv
            );
            $dec_s = strlen($decrypted);
            $padding = ord($decrypted[$dec_s-1]);
            $decrypted = substr($decrypted, 0, -$padding);
            return $decrypted;
        }

Verwandte Empfehlungen:

Bin-Datei- und Hex-Dateikonvertierung

Hex-Konvertierung Datei-zu-Bin-Datei C-Sprachimplementierung

Das obige ist der detaillierte Inhalt vonPHP wie das Umschalten zwischen bin2hex und hex2bin durch AES-Verschlüsselung/-Entschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn