Mar*_*aux 8 java rsa encryption-asymmetric
我有RSA公钥的字节数组.我在互联网上发现我可以使用以下代码创建一个真正的PublicKey对象:
PublicKey publicKey =
KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(bytes));
Run Code Online (Sandbox Code Playgroud)
但每次运行此代码时,我都会使用该密钥获取加密数据的另一个结果.我确定我要加密的数据总是相同的,表示密钥的字节数组也是如此.
这是正常的吗?
这是我的代码总是产生另一个输出:
byte[] keyBytes = Base64.decodeBase64(rsa_1024_public_key);
// rsa_1024_public key is a constant String
Cipher c = Cipher.getInstance("RSA");
PublicKey publicKey =
KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(keyBytes));
c.init(Cipher.ENCRYPT_MODE, publicKey);
return c.doFinal(password.getBytes());
Run Code Online (Sandbox Code Playgroud)
这可能是非对称加密算法的一部分?
谢谢.