小编Moh*_*far的帖子

使用 PHP 进行签名的 RSA 和 SHA-256 加密

我正在从 Web 服务 API 接收请求中的 XML。它包含一个由请求者的私钥签名的签名,我必须通过请求者的公钥对其进行验证。然后我必须发送带有签名的响应,由我的私钥签名。

此过程应使用 PHP 中的 RSA 和 SHA-256 来完成。

我目前有以下代码:

$data_to_encrypt = "MsgBody..../MsgBody"; // xml 

$msgbody = simplexml_load_string($data_to_encrypt);
$result = $msgbody->xpath('//MsgBody'); 

openssl_private_encrypt(json_encode($result), $encrypted, $private_key, OPENSSL_PKCS1_PADDING);

$signature = $encrypted;
$verify = openssl_verify($encrypt, $signature ,$publick_key, OPENSSL_ALGO_SHA256); 
Run Code Online (Sandbox Code Playgroud)

$verify的结果= 0。为什么这是一个错误的验证?

php encryption hash rsa

2
推荐指数
1
解决办法
9593
查看次数

标签 统计

encryption ×1

hash ×1

php ×1

rsa ×1