php 创建rsa密钥和编码/解码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 创建rsa密钥和编码/解码相关的知识,希望对你有一定的参考价值。

<?php

$data = 'XCC58-AYA68-75ZUU-19TDZ';

$config = array(
    'digest_alg' => 'sha512',
    'private_key_bits' => 4096,
    'private_key_type' => OPENSSL_KEYTYPE_RSA,
);

// Create the private and public key
$res = openssl_pkey_new($config);

// Extract the private key from $res to $privKey
openssl_pkey_export($res, $privKey);

echo $pubKey;
echo $privKey;

// Extract the public key from $res to $pubKey
$pubKey = openssl_pkey_get_details($res);
$pubKey = $pubKey['key'];

// Encrypt the data to $encrypted using the public key
openssl_public_encrypt($data, $encrypted, $pubKey);
echo chunk_split(base64_encode($encrypted));
// Decrypt the data using the private key and store the results in $decrypted
openssl_private_decrypt($encrypted, $decrypted, $privKey);

echo $decrypted;

以上是关于php 创建rsa密钥和编码/解码的主要内容,如果未能解决你的问题,请参考以下文章

术语:编码没有解码?

解码 Base64urlUInt 编码的值

base64无法解码pb+

ruby-jwt编码,用RS256算法解码

从RSA编码的AES密钥生成AES密钥

PHP使用RSA(非对称算法)加解密详解