AES加密

php實現AES/ECB/PKCS5Padding模式加密

classAesUtil

{

public static functionencrypt($input,$key){

$size= mcrypt_get_block_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB);

$input= AesUtil::pkcs5_pad($input,$size);

$td=mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_ECB,'');

$iv= mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);

mcrypt_generic_init($td,$key,$iv);

$data= mcrypt_generic($td,$input);

mcrypt_generic_deinit($td);

mcrypt_module_close($td);

$data= base64_encode($data);

return$data;

}

private static functionpkcs5_pad($text,$blocksize){

$pad=$blocksize-(strlen($text)%$blocksize);

return$text. str_repeat(chr($pad),$pad);

}

public static functiondecrypt($sStr,$sKey){

$decrypted= mcrypt_decrypt(

MCRYPT_RIJNDAEL_128,

$sKey,

base64_decode($sStr),

MCRYPT_MODE_ECB

);

$dec_s= strlen($decrypted);

$padding= ord($decrypted[$dec_s-1]);

$decrypted= substr($decrypted,0, -$padding);

return$decrypted;

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容