gpt4 book ai didi

Java 将 PublicKey 发送给 PHP 并加密数据

转载 作者:行者123 更新时间:2023-11-30 11:16:31 25 4
gpt4 key购买 nike

所以我在 Java 中有一个 PublicKey,我需要向服务器发送一个带有 key 的 post 请求,然后读取 key 服务器端,并发送一些用它加密的数据!

我成功了:

  • 生成 key 对(duh)
  • 在Java程序中用它加密和解密数据
  • 也许:从中制作一个 pem 格式的 key ,我不确定
String phpPublic = ("-----BEGIN PUBLIC KEY-----"+Base64.encodeToString(MainActivity.instance.rsa.readPublicKeyFromFile(MainActivity.instance.rsa.PUBLIC_CLIENT_KEY_FILE).getEncoded(),Base64.DEFAULT)+"-----END PUBLIC KEY-----");

我认为这样做可以,但我不确定!将私钥转换为 pem 的过程是否相同,只是在页眉和页脚中设置 PUBLIC -> PRIVATE。

我不知道是否真的需要转换为 pem,如果不是,请提出更好的方法。

这是我在 PHP 中的做法,但我 99% 确定它是错误的

$PubKey = openssl_pkey_get_public($publicPem);
$encrypted;
openssl_public_encrypt($toEncode, $encrypted, $PubKey);
echo $encrypted;

最佳答案

你能发布一个示例 key 吗?

取而代之的是,我确实认为使用 phpseclib a pure php rsa implementation 会取得更好的成功.它比 openssl 支持更多的 key 格式,它也会自动检测类型。

例子:

<?php
include('Crypt/RSA.php');

$rsa = new Crypt_RSA();
$rsa->loadKey('...');

$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
echo $rsa->encrypt('whatever');

关于Java 将 PublicKey 发送给 PHP 并加密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24814734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com