我正在尝试实现 Java 和 JavaScript 之间的加密解决方案。
在 Java 端,我有以下静态块:
public class Manager {
public static KeyPairGenerator keyPairGenerator;
public static KeyPair keyPair;
static{
try {
keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(1024);
keyPair = keyPairGenerator.genKeyPair();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
...
}
一旦我的服务器启动并运行,这基本上会生成一个新的密钥对......
然后我以 JSON 格式给出公钥:
<%
JSONObject json = new JSONObject();
json.put("publicKey", "-----BEGIN PUBLIC KEY-----" + Base64.encodeBase64URLSafeString(Manager.keyPair.getPublic().getEncoded()) + "-----END PUBLIC KEY-----");
%>
我想使用该密钥(无论是 1024 位还是 2048 位)对来自客户端表单的信息进行编码......谁知道如何使用 RSA 1024 位、base64 编码的公钥对信息进行编码?
我尝试了 jCryption 和严重的其他库无济于事......