admin管理员组文章数量:1794759
PHP使用openssl
对称加密使用秘钥加、解密数据,需要双方约定同一个秘钥,一旦约定过程中出现泄漏那么加密信也就不安全了,但是它有加、解密快的特点。
aes算法 cbc模式 PKCS5Padding补码方式
与JAVA加解密结果一致,代码如下:
<?PHP class Aes { private $iv = "";//iv的长度要根据加密方式和模式来定,aes-128-cbc偏移量的是16位 private $key = ''; function __construct($key, $iv) { $this->key = $key; $this->iv = $iv; } public function encrypt($input) { return base64_encode(openssl_encrypt($input, 'AES-128-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv)); } public function decrypt($input) { return openssl_decrypt(base64_decode($input), 'AES-128-CBC', $this->key, OPENSSL_RAW_DATA, $this->iv); } }下面是使用php openssl_encrypt加密的通用方法,摘自www.php/manual/zh/function.openssl-encrypt.php:
<?php $plaintext = "message to be encrypted";//加密字符串 $cipher = "aes-128-gcm";//加密方式 if (in_array($cipher, openssl_get_cipher_methods()))//是否支持改加密方式 { $ivlen = openssl_cipher_iv_length($cipher);//向量长度 $iv = openssl_random_pseudo_bytes($ivlen);//创建指定长度的向量 $ciphertext = openssl_encrypt($plaintext, $cipher, $key, $options=0, $iv); $original_plaintext = openssl_decrypt($ciphertext, $cipher, $key, $options=0, $iv); echo $original_plaintext."\\n"; } ?>
版权声明:本文标题:PHP使用openssl 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686926325a118995.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论