以下是一个PHP的RSA解密算法:

<?php
function rsa_decrypt($data, $private_key)
{
    $decrypted = '';
    $key = openssl_pkey_get_private($private_key);
    $data = base64_decode($data);

    $chunk_size = ceil(openssl_pkey_get_details($key)['bits'] / 8);
    while ($data) {
        $chunk = substr($data, 0, $chunk_size);
        $data = substr($data, $chunk_size);
        openssl_private_decrypt($chunk, $decrypted_chunk, $key);
        $decrypted .= $decrypted_chunk;
    }

    return $decrypted;
}

这个函数接收两个参数:待解密的数据和私钥。它首先将数据进行base64解码,然后分块解密,最后返回解密后的数据。

需要注意的是,这个函数依赖于OpenSSL扩展,因此在使用之前需要确保该扩展已经安装并启用。此外,私钥也需要符合PKCS#1格式,如果不是的话需要进行转换。

帮我写一个PHP的RSA解密算法

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

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