php openssl rsa 加密解密应用
2013-07-11 19:08
393 查看
php openssl rsa 加密解密应用
1、安装openssl
yum -y install openssl-devel
2、安装php openssl
到php源码包的目录 ext/openssl 下执行:
/data/apps/php/bin/phpize
./configure --with-openssl --with-php-config=/data/apps/php/bin/php-config
make
make install
(可能需要mv config0.m4 config.m4)
把生成的 openssl.so 文件添加到php.ini中
extension = /xxx/openssl.so;
可以用以下命令查看安装的模块:
php -m |grep openssl
3、生成公钥和私钥
生成私钥:
openssl genrsa 1024 > private.key
(注意,1024是密钥的长度,如果密钥较长,相应加密后的密文也会较长)
生成公钥:
openssl rsa -in private.key -pubout > public.key
4、利用php加密和解密文本,代码如下:
1、安装openssl
yum -y install openssl-devel
2、安装php openssl
到php源码包的目录 ext/openssl 下执行:
/data/apps/php/bin/phpize
./configure --with-openssl --with-php-config=/data/apps/php/bin/php-config
make
make install
(可能需要mv config0.m4 config.m4)
把生成的 openssl.so 文件添加到php.ini中
extension = /xxx/openssl.so;
可以用以下命令查看安装的模块:
php -m |grep openssl
3、生成公钥和私钥
生成私钥:
openssl genrsa 1024 > private.key
(注意,1024是密钥的长度,如果密钥较长,相应加密后的密文也会较长)
生成公钥:
openssl rsa -in private.key -pubout > public.key
4、利用php加密和解密文本,代码如下:
<?php class mycrypt { public $pubkey; public $privkey; function __construct() { $this->pubkey = file_get_contents('/home/openssl/public.key'); $this->privkey = file_get_contents('/home/openssl/private.key'); } public function encrypt($data) { if (openssl_public_encrypt($data, $encrypted, $this->pubkey)) $data = base64_encode($encrypted); else throw new Exception('Unable to encrypt data. Perhaps it is bigger than the key size?'); return $data; } public function decrypt($data) { if (openssl_private_decrypt(base64_decode($data), $decrypted, $this->privkey)) $data = $decrypted; else $data = ''; return $data; } } $rsa = new mycrypt(); echo $rsa -> encrypt('abc'); //echo $rsa -> decrypt('W+ducpssNJlyp2XYE08wwokHfT0bm87yBz9vviZbfjAGsy/U9Ns9FIed684lWjYyyofi/1YWrU0Mp8vLOYi8l6CfklBY=');
相关文章推荐
- php openssl rsa 加密解密应用
- php openssl rsa 加密解密
- 关于openssl rsa php c++ js 协同加密解密的一些资源链接
- php基于openssl的rsa加密解密示例
- php rsa加密解密
- PHP通过OpenSSL生成证书、密钥并且加密解密数据
- php rsa加密解密实例
- 利用openssl进行RSA加密解密
- 加密、解密、openssl的基本应用以及CA的实现过程
- android、ios与服务器端php使用rsa加密解密通讯
- 利用openssl的AES和RSA完成对数据的加密解密
- 加密,解密,openssl 的基本应用及CA的实现过程
- PHP RSA公约私钥加密解密示例
- php openssl对等加密解密数据
- CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互
- php利用openssl实现RSA非对称加密签名
- PHP 服务端 和 APP 客户端 实现 RSA+AES 双向加密解密
- php rsa加密解密实例
- 基于OpenSSL的RSA加密应用(非算法)