Javascript 随机rsa例程:rsa_padding_check_PKCS1_type_2:块类型不是02 openssl PHP

Javascript 随机rsa例程:rsa_padding_check_PKCS1_type_2:块类型不是02 openssl PHP,javascript,php,encryption,cryptography,rsa,Javascript,Php,Encryption,Cryptography,Rsa,我试图在JavaScript上执行RSA加密,然后在PHP上对其进行解码 我按照本教程获取库并在JavaScript上执行加密: 加密部分很好用 下面是我用来从PHP解密的代码: $msg= ""; if(openssl_private_decrypt(base64_decode($_POST['data']),$msg,openssl_get_privatekey('file://keys/private.pem'))){ echo $msg; } else{ echo

我试图在JavaScript上执行RSA加密,然后在PHP上对其进行解码

我按照本教程获取库并在JavaScript上执行加密:

加密部分很好用

下面是我用来从PHP解密的代码:

$msg= "";
if(openssl_private_decrypt(base64_decode($_POST['data']),$msg,openssl_get_privatekey('file://keys/private.pem'))){
     echo $msg;
}
else{
     echo openssl_error_string();
}
我的问题是,有时解密工作完美,但有时我会出错:

error:0407106B:rsa routines:RSA_padding_check_PKCS1_type_2:block type is not 02
注意:使用JavaScript函数进行解密是有效的。如果PHP问题没有解决,有没有办法在PHP页面中使用JS函数进行解密


谢谢。

为什么要加密它?如果你的意思是为了安全,那就不是了。您向用户公开了源代码。使用SSL/TLS。它只是以加密格式保存代码。用户没有私钥来解密消息。他不需要解密消息,他只需在消息被加密之前获取消息。1。您可能首先需要
base64\u decode()
。2.不要使用PKCS1填充。使用OAEP或.1。研究编码的密文在客户端和服务器端的外观(
$\u POST['data']
)。可能有一些字符被损坏,例如
+
。2.使用OAEP。有一个问题。