收藏
回答

openssl_decrypt(): IV passed is only 15

openssl_decrypt(): IV passed is only 15 bytes long, cipher expects an IV of precisely 16 bytes, padding with \0


如上是报错信息,在对用户加密的信息进行解密的时候出现这样的报错


使用的是官方提供的demo,这样的问题怎么解决?

回答关注问题邀请回答
收藏

5 个回答

  • ➡王镭树⬅
    ➡王镭树⬅
    2020-02-14

    遇到了同样的问题,弄了一下午,解决了。

    原因是,在三个数据作为参数传输的过程中,内容中的 +会被替换为 空格。

    所以需要对参数转码,转码后发现特殊字符被替换为%3D,再给换回来即可。!

    URLEncoder.encode(encryptData,"UTF-8").replace("%3D","=").replace("%2F","/")
    


    2020-02-14
    有用 1
    回复 1
    • Helloworld
      Helloworld
      2020-11-09
      非常感谢!的确有 + 号!
      2020-11-09
      回复
  • Jerry.姜
    Jerry.姜
    2021-07-14

    我这里使用下面这个方式解决:

    encodeURIComponent(res.iv,"UTF-8")


    2021-07-14
    有用
    回复
  • Guo
    Guo
    2020-03-14

    解决了吗 老铁

    2020-03-14
    有用
    回复
  • .
    .
    2019-12-06

    怎么解决的????

    2019-12-06
    有用
    回复
  • Anday
    Anday
    2019-12-05

    解决了吗?

    2019-12-05
    有用
    回复
登录 后发表内容