Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php-rsa 加密解密

作者:影之哀伤   发布日期:2024-11-08   浏览:171

PHP中可以使用openssl扩展来进行RSA加密解密操作。

  1. 生成RSA密钥对:
    
    $config = array(
     "digest_alg" => "sha256",
     "private_key_bits" => 2048,
     "private_key_type" => OPENSSL_KEYTYPE_RSA,
    );

// 生成私钥和公钥 $res = openssl_pkey_new($config);

// 提取私钥 openssl_pkey_export($res, $privateKey);

// 提取公钥 $publicKey = openssl_pkey_get_details($res); $publicKey = $publicKey["key"];

// 保存私钥和公钥到文件 file_put_contents('private.pem', $privateKey); file_put_contents('public.pem', $publicKey);


2. 使用公钥进行加密:
```php
$data = "要加密的数据";
$publicKey = file_get_contents('public.pem');

// 加密
openssl_public_encrypt($data, $encrypted, $publicKey);

// Base64编码
$encrypted = base64_encode($encrypted);

echo $encrypted;
  1. 使用私钥进行解密:
    
    $encrypted = "加密后的数据";
    $privateKey = file_get_contents('private.pem');

// Base64解码 $encrypted = base64_decode($encrypted);

// 解密 openssl_private_decrypt($encrypted, $decrypted, $privateKey);

echo $decrypted;



注意:在使用openssl_pkey_new函数生成密钥对时,可以通过$config参数来指定密钥的长度和类型。在加密和解密时,需要使用对应的密钥进行操作。

上一篇:php define() 函数定义一个常量。

下一篇:PHP7开启Opcode打造强悍性能

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 判断是否为空

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站