php openssl 替代 mcrypt aes-128-ecb

2022年01月14日 阅读数:1
这篇文章主要向大家介绍php openssl 替代 mcrypt aes-128-ecb,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。
<?php

$data="wx1932746654713118222";
$aes="6495DB624333333";//密钥

$s=new SecurityService();

$md5="";//加密后的
$res=$s->aes_decode($md5,$aes);


class SecurityService {
    
	
  public   function   aes_encode($input, $key) { 
$size=16;
     $input = self::pkcs5_pad($input, $size);
 $encrypted = openssl_encrypt($input, 'aes-128-ecb', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING); 
 $encrypt_msg = utf8_encode(base64_encode($encrypted)); 
 return $encrypt_msg; 
}

//这里是重点
public function aes_decode($input,$key){

 $decrypted = openssl_decrypt(base64_decode($input), 'aes-128-ecb', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING); 
 $dec_s = strlen($decrypted);
        $padding = ord($decrypted[$dec_s - 1]);
        $decrypted = substr($decrypted, 0, -$padding);
        return $decrypted;
 
}




    private static function pkcs5_pad($text, $blocksize) {
        $pad = $blocksize - (strlen($text) % $blocksize);
        return $text . str_repeat(chr($pad), $pad);
    }

   

}

 

参考文章php

https://www.cnblogs.com/WackMr/p/10936495.htmlhtml

下一篇: php RSA sha256签名