java php aes加密解密_PHP与Java通用AES加密解密算法

最近项目中遇到与第三方对接业务,涉及到签名与密码加密AES算法,而两方用的语言不一样,一方是PHP,另一方是Java,对接过程中遇到了算法不一致的问题

AES指高级加密标准(Advanced Encryption Standard),是当前最流行的一种密码算法,在web应用开发,特别是对外提供接口时经常会用到

下面是查询资料及对接过程中找到可行的一套PHP与Java通用的AES加密解密算法,Mark一下PHP代码:

class CryptAES

{

protected $cipher = MCRYPT_RIJNDAEL_128;

protected $mode = MCRYPT_MODE_ECB;

protected $pad_method = NULL;

protected $secret_key = '';

protected $iv = '';

public function set_cipher($cipher)

{

$this->cipher = $cipher;

}

public function set_mode($mode)

{

$this->mode = $mode;

}

public function set_iv($iv)

{

$this->iv = $iv;

}

public function set_key($key)

{

$this->secret_key = $key;

}

public function require_pkcs5()

{

$this->pad_method = 'pkcs5';

}

protected function pad_or_unpad($str, $ext)

{

if ( is_null($this->pad_method) )

{

return $str;

}

else

{

$func_name = __CLASS__ . &

你可能感兴趣的:(java,php,aes加密解密)