java - 将字符串转换为字节数组

标签 java arrays rsa

我使用 RSA 加密将简单文本转换为加密形式。

我的纯文本是:你好

加密文本:[B@d7eed7

现在,如何将加密文本转换为简单的明文 我正在使用以下代码

KeyPairGenerator keygenerator = KeyPairGenerator.getInstance("RSA");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
keygenerator.initialize(1024, random);

KeyPair keypair = keygenerator.generateKeyPair();
PrivateKey privateKey = keypair.getPrivate();
PublicKey publicKey = keypair.getPublic();
Cipher cipher = Cipher.getInstance("RSA");

String arrayStr = "[b@d7eed7";
byte ciphertext = arrayStr.getBytes();
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] cleartext1 = cipher.doFinal(ciphertext);
System.out.println("the decrypted cleartext is: " + new String(cleartext1));

我收到javax.crypto.BadPaddingException:数据必须从零开始

需要帮助!!

最佳答案

问题是[B@d7eed7不是加密文本。它仅显示字节数组的类型和地址,而不显示其内容。

有关详细信息,请参阅 https://stackoverflow.com/a/5500020/367273

关于java - 将字符串转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10431616/

相关文章:

不同组的 PHP 返回结果

java - 如何在数组中存储值?

java - 数组实例变量与setter方法摄入无关吗?

c# - 仅使用公钥验证签名 (C#)

javascript - JavaScript 中的 RSA 签名

java - 如何获取Android设备当前的媒体类型?

java - Cassandra 数据库 : Storing XML-Files in Cassandra Database possible?

java - 为什么 Enum 声明中的类型参数包含递归类型界限?

java - 使用 JACKSON 或其他 java 库更改 JSON 键的最佳方法

php - 在 PHP 中使用 phpseclib 时出现 RSA 问题