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);
    }

   

}

 

參考文章

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章