java安全工具扫描问题,发现依赖默认编码:新字符串(字节[])
我得到了下面代码段的“发现依赖默认编码:新字符串(字节[])”
InitAuth (Auth auth) {
String jsonString =String(Base64.getDecoder().decode(token.split(".")[1]));
context = JsonPath.parse(jsonString);
}
我已经找到了建议使用这种格式的字符串构造函数的解决方案
new String(bytes, StandardCharsets.UTF_8)
但问题是,在我的代码中,如果我使用第二个参数,它将变成这个签名
new String(string, string)
正如您所知,此构造函数不是为新字符串()定义的。所以,有人可以建议如何解决这个问题。如果使用Base64,也请添加。getMimeDecoder()在这里有意义
# 1 楼答案
为了调用
String
constructor,第一个参数必须是byte[]
。将.getBytes()
的结果作为第一个参数传递,然后可以将StandardCharsets.UTF_8
设置为第二个参数