微信小程序登录,服务端解密有几率-41003

发布于 7 年前作者 taoyong14771 次浏览最后编辑 7 年前来自 ask

服务器是将unionId作为唯一id的,需要使用WXBizDataCrypt.decryptData将encryptedData解密出来。不过在调用WXBizDataCrypt.decryptData的时候总是又会30%的几率解密失败,返回errorCode -41003


服务器端语言:PHP (Laravel框架)


报错为:openssl_decrypt(): IV passed is only 15 bytes long…ects an IV of precisely 16 bytes, padding with \0

4 回复
ping53
ping531 楼6 年前

怎么解决的?

dluo
dluo2 楼6 年前

补充:每次小程序获取到iv的值中间有空格的,就会出错

成功的iv例子:$iv = "MLbq\/WIGb1YHk8f0GWmzLA=="
出错的iv例子:$iv = "shNiHyqyaVamI Fe\/YHUjw=="


yang50
yang503 楼6 年前

楼主好,可以上一段代码吗?现在iv是通过<button>控件的open-data才能获取到,encodeURIComponent()方法是向服务端发送request前调用呢还是在服务端收到iv后再调用。

mingfu
mingfu4 楼5 年前

官方大人们,有没有人出来回答一下啊,急急急