PHP AES双向加密解密(128位)
2018-01-07 16:20
330 查看
/** 用法: Security::encrypt($str,$key); Security::decrypt($str,$key); */ class Security { public static function encrypt($input, $key) { $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB); $input = Security::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 function pkcs5_pad ($text, $blocksize) { $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad); } public static function decrypt($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; } }
相关文章推荐
- PHP实现的AES双向加密解密功能示例【128位】
- PHP 服务端 和 APP 客户端 实现 RSA+AES 双向加密解密
- android、ios、php之间AES加密解密
- php与java通用AES加密解密算法
- php,android,ios 之间 AES加密解密
- 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)
- PHP--JAVA AES(ECB)加密解密
- PHP AES加密解密学习
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现【多种语言AES/CBC/PKCS5Padding通用加解密数据】
- C# 128位AES 加密解密 (转)
- AES 之128位加密与解密
- java和php通用的AES加密解密
- PHP开发过程中AES加密解密问题 js前端AES加密,PHP解密
- php aes 加密解密
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]
- java and php aes相互加密解密。
- JAVA与PHP之间进行aes加密解密
- PHP AES 加密 解密 实现实例
- android、ios、php之间AES加密解密