当前位置: 首页 > 面试题库 >

在Android / Java中的cipher.doFinal中传递什么?

慕迪
2023-03-14
问题内容

Android代码

String apiResponse = "EcUZvMif

方法:

protected void decryptDataWithAES(String apiResponse, String key) {
        try {
            es(StandardCharsets.UTF_8);


            byte[] decodedResult = Base64.decode(apiResponse, Base64.NO_WRAP);

           terSpec = new IvParameterSpec(first16ByteArray);

            SecretKeySpec skey = new SecretKeySpec(byteArray, "AES");

            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
            cipher.init(DECRYPT_MODE, skey, ivParameterSpec);

            String decryptString = new String(cipher.doFinal(byteArray), StandardCharsets.UTF_8);
            showLog("JSON: " + decryptString);

        } catch (Exception e) {
            e.printStackTrace();

        }
    }

例外: javax.crypto.BadPaddingException: error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT

[wefopwfpkpewfpkoewfkowf ewfwefwefpwfpkpewfpkoewfkowf
ewfwefwefpwfpkpewfpkoewfkowf ewfwefwefpwfpkpewfpkoewfkowf
ewfwefwefpwfpkpewfpkoewfkowf ewfwefwefpwfpkpewfpkoewfkowf
ewfwefwefpwfpkpewfpkoewfkowf ewfwefwefpwfpkpewfpkoewfkowf
ewfwefwefpwfpkpewfpkoewfkowf ewfwefwefpwfpkpewfpkoewfkowf
ewfwefwefpwfpkpewfpkoewfkowf ewfwefwefpwfpkpewfpkoewfkowf ewfwefwef] bhdfuiyh


问题答案:

您正在尝试解密“密钥”,我认为您需要解密apiResponse

另外,您需要使用与邮件加密时完全相同的IV,否则您将无法解密



 类似资料:
  • 本文向大家介绍为什么Java中只有值传递?相关面试题,主要包含被问及为什么Java中只有值传递?时的应答技巧和注意事项,需要的朋友参考一下 首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语。按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对

  • 我知道我不能用这样的方式传递数组。我是否需要通过引用,如果是,如何?问题在下面供参考。 编写一个名为MethodsArrays的Java程序,它有4个静态方法,分别为fillArray()、sumArray()、avgArray()和printArray()。应该从main方法调用fillArray()方法。fillArray()方法应该使用一个扫描程序来接受一个表示数组长度的数字,然后读取数字来

  • 问题内容: 在java中是值传递还是引用传递,有什么区别? 问题答案: Java总是按值传递参数,而不是按引用传递参数。 看下面一个实例:

  • 当我传递strDate时,它会抛出java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'boolean java.lang.String.equals(java.lang.Object)'

  • 问题内容: 我读了许多文章,都说Java是通过价值传递的。但是我仍然不能解释按值传递和引用之间的区别。我写了一个示例程序,它像这样执行。 执行 谁能向我解释这些问题… 价值传递是什么意思? 答:它只是将存储在变量中的数字或值传递给函数。我是对还是错。 How do you say Java是通过价值传递? 为什么Java是按值传递而不是按引用传递? 上面的程序Tries是否显示了“按值传递”和“引

  • 当我将对象引用(数组是对象)传递给方法时,会传递值,对吗? 在以下代码中,初始值为:333。方法传递后,值将更改。为什么?在这种情况下,引用传递的是值吗? 数组是“特例”吗? 另一种方法:(逻辑“传递值”):