起因:原有的代码model使用String类型来接收前端的base64密码,而使用String类型接收存储密码会有安全隐患(因为String对象不可改变,因此只能等待垃圾收集器来清理内存中的数据,但是拉基收集器的执行时间不确定,可能要等挺久才会清理,如果应用奔溃则应用程序的内存转储操作就会导致敏感数据泄露。)
然后这些敏感信息就修改为char[]类型来接收客户端的数据,
然后使用Base64.getDecoder.decode(byte[] src)方法进行解码就报错Illegal base64 character了,
需要改为Base64.getMimeDecoder.decode(byte[] src)方法进行解码才可以正常解码
本文探讨了使用String类型存储Base64密码的安全隐患,并介绍了如何通过改用char[]类型和正确的解码方法来解决这一问题。

5874

被折叠的 条评论
为什么被折叠?



