php openssl 应用,php openssl rsa 加密解密应用 | 学步园

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加密和解密文本,代码如下:

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=');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值