以下是一个 PHP 的 RSA 加解密示例代码:

// RSA 加密
function rsa_encrypt($data, $public_key)
{
    $crypto = '';
    $key = openssl_pkey_get_public($public_key);
    openssl_public_encrypt($data, $crypto, $key);
    return base64_encode($crypto);
}

// RSA 解密
function rsa_decrypt($data, $private_key)
{
    $crypto = '';
    $key = openssl_pkey_get_private($private_key);
    openssl_private_decrypt(base64_decode($data), $crypto, $key);
    return $crypto;
}

// 生成 RSA 密钥对
function rsa_gen_key()
{
    $config = array(
        "digest_alg" => "sha512",
        "private_key_bits" => 4096,
        "private_key_type" => OPENSSL_KEYTYPE_RSA,
    );
    // 生成密钥对
    $res = openssl_pkey_new($config);
    // 获取私钥
    openssl_pkey_export($res, $private_key);
    // 获取公钥
    $public_key = openssl_pkey_get_details($res);
    $public_key = $public_key["key"];
    // 返回密钥对
    return array("private_key" => $private_key, "public_key" => $public_key);
}

// 使用示例
$key_pair = rsa_gen_key();
$private_key = $key_pair['private_key'];
$public_key = $key_pair['public_key'];

$data = "Hello World!";

// 加密
$crypto = rsa_encrypt($data, $public_key);
echo "加密结果:".$crypto."\n";

// 解密
$decrypto = rsa_decrypt($crypto, $private_key);
echo "解密结果:".$decrypto."\n";

注意:在实际使用时,需要妥善保管好私钥,不要泄露给他人,否则就失去了安全保障。

写一个 php ras 加解密 示例代码

原文地址: https://www.cveoy.top/t/topic/B9Z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录