php OpenSSL 加解密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 2018-1-6 17:10:19 星期六 1 $data = '123456'; 2 $openssl_method = 'AES-256-CBC'; 3 $openssl_iv_length = openssl_cipher_iv_length($openssl_method);...

2018-1-6 17:10:19 星期六

 1 $data = '123456';
 2 $openssl_method = 'AES-256-CBC';
 3 $openssl_iv_length = openssl_cipher_iv_length($openssl_method);
 4 $openssl_iv = openssl_random_pseudo_bytes($openssl_iv_length);
 5 $openssl_password = openssl_random_pseudo_bytes(16);
 6 
 7 echo '<pre>';
 8 // 加密
 9 $e = openssl_encrypt($data, $openssl_method, $openssl_password, 0, $openssl_iv);
10 echo  openssl_error_string ();
11 
12 //解密
13 $f = openssl_decrypt($e, $openssl_method, $openssl_password, 0, $openssl_iv);
14 echo  openssl_error_string ();
15 var_dump($e, $f);

注意:

1. 加密后输出是base64编码后的结果, 可以直接输出到客户端

2. $options 有 OPENSSL_RAW_DATA 时, 输出的是加密后的原始结果, 没有用base64编码

3. $options 有 OPENSSL_ZERO_PADDING 时, 要求被加密的数据必须是"加密块"长度的整数倍

 

目录
相关文章
|
PHP 应用服务中间件 nginx
|
5月前
|
存储 算法 安全
PHP AES加解密示例
PHP AES加解密示例
112 0
PHP AES加解密示例
|
JavaScript PHP
php中base64和js中base64可互相加解密
php中base64和js中base64可互相加解密
430 0
|
Java PHP 数据安全/隐私保护
关于php的aes加密,openssl和mcrypt一些想说的话
关于php的aes加密,openssl和mcrypt一些想说的话
542 0
|
算法 安全 Java
【信息安全_其他】JAVA(Android),PHP,IOS三平台RSA加解密互通算法
【信息安全_其他_】JAVA(Android),PHP,IOS三平台RSA加解密互通算法
1107 0
|
算法 Linux PHP
linux/Windows系统如何安装PHP-openssl扩展
现在很多的smtp服务器是需要ssl方式加密的,而支持ssl需要php加载openssl扩展。所以本文我们将和大家一起分享如何在linux/Windows系统下安装PHP的openssl扩展。
2941 0
|
API PHP Apache
转 通过phpize为php在不重新编译php情况下安装模块openssl
假定:php编译安装路径:/usr/local/php/apache编译安装路径:/usr/local/apache/php配置文件路径:/etc/php.iniphp安装源路径:/usr/source/php-5.
989 0