Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Java私钥字符串转为PHP pem私钥

操作:将Java生成的密钥字符串转为PHP能识别的pem格式的密钥。

Java生成的密钥主要是字符串;而pem格式密钥是以64位为一行,并且带有如下头和尾的文件格式,然后PHP再去取得相对应pem格式字符串。

pem格式密钥

-----BEGIN PUBLIC KEY-----
//64chars一行(多行)
-----END PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY-----
//64chars一行(多行)
-----END RSA PRIVATE KEY-----

Java密钥转为pem格式的PHP代码

$pem_key = format_secret_key($key, 'private');

/**
 * 将字符串格式公私钥格式化为pem格式公私钥
 * @param $secret_key
 * @param $type
 * @return string
 */
function format_secret_key($secret_key, $type) {
    //64个英文字符后接换行符"\n",最后再接换行符"\n"
    $key = (wordwrap($secret_key, 64, "\n", true)) . "\n";
    //添加pem格式头和尾
    if ($type == 'public') {
        $pem_key = "-----BEGIN PUBLIC KEY-----\n" . $key . "-----END PUBLIC KEY-----\n";
    } else if ($type == 'private') {
        $pem_key = "-----BEGIN RSA PRIVATE KEY-----\n" . $key . "-----END RSA PRIVATE KEY-----\n";
    } else {
        echo('公私钥类型非法');
        exit();
    }
    return $pem_key;
}
上一篇 pkcs1与pkcs8格式RSA私钥互相转换
下一篇 Fidder简介