java 与 php 做rsa 加密数据通讯问题处理

来源:互联网 发布:知乎健身的变化女生 编辑:程序博客网 时间:2024/05/12 09:14
php需要解决的核心问题:
1,密钥的解密处理 包括私钥跟公钥,java对于密钥的加密有2种,pkcs8 跟 x509
pkcs8 算法需要额外的库支持 phpseclib 该库依赖 MATH_BIGINTEGER 如果下载1.几版本可手动调整支持php7
2,签名的加密算法 php 默认应该是rsa模式 如果使用需要java配合。
详情见:https://schneimi.wordpress.com/2008/11/25/rsa-encryption-between-java-and-php/
还有一种签名算法为 OPENSSL_ALGO_MD5 一般的java设置都会支持

3,数据加密算法,对于php 应该是 ,OPENSSL_PKCS1_PADDING


//证书pkcs8格式转换function pkcs8ToPem($der_data){//进行证书pkcs8 密钥解密处理$rsa = new \phpseclib\Crypt\RSA();$rsa->loadKey($private_content);return $rsa->getPrivateKey();}//证书x509格式转换function x509ToPem($der_data) {//$der_data 为base64 编码格式$pem = chunk_split($der_data, 64, "\n");$pem = "-----BEGIN PUBLIC KEY-----\n".$pem."-----END PUBLIC KEY-----\n";return $pem;}


0 0
原创粉丝点击