使用RSA Java解密Base64加密的字符串后的垃圾值

鲁沙卜·巴特

在我的Android应用程序中,我正在实现RSA加密解密。

我们有适用于ios和android的此应用程序。

每当ios使用我的公钥加密消息时,都会在base64中发送加密的文本,而在android端,我会使用我的私钥对其进行解密。

问题是每当我解密数据时,它都会给加密的消息加上垃圾填充

如图所示:

K N t X 08 I ii z < C ,r | aKj:N ^J c U X 'r 6Y k,o D^ ???) F [
?tH ^ f s 测试更新的发布密钥

消息“测试更新的发布密钥”。

        public static String RSADecrypt(final String result, Context context, PrivateKey key)
        throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException,
        BadPaddingException, InvalidKeySpecException
{
    Log.d(TAG, "Decryption of " + result);
    String decrypted = "";
    try
    {
        byte[] b = Base64.decode(result, Base64.DEFAULT);
        Cipher cipher1;
        cipher1 = Cipher.getInstance(ALGO);
        cipher1.init(Cipher.DECRYPT_MODE, key);
        byte[] decryptedBytes = cipher1.doFinal(b);
        decrypted = new String(decryptedBytes,"US-ASCII");
        Log.d(TAG, "Decrypted text " + decrypted);
        Toast.makeText(context, decrypted, Toast.LENGTH_LONG).show();;
    }
    catch (Exception e)
    {
        e.printStackTrace();
        Log.d(TAG, "Exception in decryption");
    }
    return decrypted;

}

我无法理解问题出在哪里,在android方面的iOs方面,还是在解密后将字节转换为字符串.plz帮助

马丁·波德威斯

尝试使用"RSA/ECB/PKCS1Padding"代替"RSA/ECB/NoPadding"或类似的值ALGO周围的随机外观字符实际上是随机填充字节。填充是RSA加密不可或缺的一部分,不应跳过。

请注意,KeyPairGenerator仍应使用"RSA",生成器与加密模式和/或填充模式无关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Golang,使用AES和Base64加密字符串

来自分类Dev

使用Java的RSA加密/解密

来自分类Dev

使用RSA技术在JavaScript中加密字符串并在PHP中解密

来自分类Dev

使用VBA读取base64图像字符串?

来自分类Dev

在Java中使用rsa加密和解密大文件

来自分类Dev

无法使用Java进行RSA解密

来自分类Dev

使用RSA解密字符串时,开头会返回附加的零。

来自分类Dev

无法使用.Net Core中的RSA私钥解密连接字符串

来自分类Dev

Android Java-使用RSA公钥.PEM加密字符串

来自分类Dev

使用Java进行RSA加密并使用JavaScript进行解密

来自分类Dev

使用RSA算法以Java加密文本

来自分类Dev

使用RSA解密字符串

来自分类Dev

用RSA加密并以base64编码的php文本在android中解密后不保留

来自分类Dev

使用RSA Java解密Base64加密的字符串后的垃圾值

来自分类Dev

iOS使用des ecb解密base64编码的字符串

来自分类Dev

使用VBA读取base64图像字符串?

来自分类Dev

使用RSA加密哈希

来自分类Dev

在不使用任何给定库(例如Base64,AES等)的情况下,如何在Java中创建自己的字符串编码/解码或加密/解密脚本?

来自分类Dev

使用给定的RSA公钥OpenSSL加密字符串

来自分类Dev

在Java中使用RSA加密SecretKey

来自分类Dev

使用Java NetBeans对图像进行rsa加密和解密

来自分类Dev

Java中的RSA解密,未使用RSA库

来自分类Dev

使用RNCryptor解密base64编码和AES加密的字符串

来自分类Dev

使用RSA OAEP加密和解密

来自分类Dev

使用 XML 私钥解密 RSA

来自分类Dev

尝试使用 libcrypto 对参数字符串进行 RSA 解密时出错

来自分类Dev

无法使用 Java/Kotlin 加密/解密字符串

来自分类Dev

如何使用手动设置的 RSA 参数加密和解密字符串?为什么 RSACryptoServiceProvider 抛出?

来自分类Dev

使用 $_GET 后 foreach 解码的 Base64 字符串

Related 相关文章

  1. 1

    Golang,使用AES和Base64加密字符串

  2. 2

    使用Java的RSA加密/解密

  3. 3

    使用RSA技术在JavaScript中加密字符串并在PHP中解密

  4. 4

    使用VBA读取base64图像字符串?

  5. 5

    在Java中使用rsa加密和解密大文件

  6. 6

    无法使用Java进行RSA解密

  7. 7

    使用RSA解密字符串时,开头会返回附加的零。

  8. 8

    无法使用.Net Core中的RSA私钥解密连接字符串

  9. 9

    Android Java-使用RSA公钥.PEM加密字符串

  10. 10

    使用Java进行RSA加密并使用JavaScript进行解密

  11. 11

    使用RSA算法以Java加密文本

  12. 12

    使用RSA解密字符串

  13. 13

    用RSA加密并以base64编码的php文本在android中解密后不保留

  14. 14

    使用RSA Java解密Base64加密的字符串后的垃圾值

  15. 15

    iOS使用des ecb解密base64编码的字符串

  16. 16

    使用VBA读取base64图像字符串?

  17. 17

    使用RSA加密哈希

  18. 18

    在不使用任何给定库(例如Base64,AES等)的情况下,如何在Java中创建自己的字符串编码/解码或加密/解密脚本?

  19. 19

    使用给定的RSA公钥OpenSSL加密字符串

  20. 20

    在Java中使用RSA加密SecretKey

  21. 21

    使用Java NetBeans对图像进行rsa加密和解密

  22. 22

    Java中的RSA解密,未使用RSA库

  23. 23

    使用RNCryptor解密base64编码和AES加密的字符串

  24. 24

    使用RSA OAEP加密和解密

  25. 25

    使用 XML 私钥解密 RSA

  26. 26

    尝试使用 libcrypto 对参数字符串进行 RSA 解密时出错

  27. 27

    无法使用 Java/Kotlin 加密/解密字符串

  28. 28

    如何使用手动设置的 RSA 参数加密和解密字符串?为什么 RSACryptoServiceProvider 抛出?

  29. 29

    使用 $_GET 后 foreach 解码的 Base64 字符串

热门标签

归档