java - 防御性复制帮助-数组直接存储-影响分析

标签 java arrays security byte sonarqube

我修复了一个 Sonar 安全警报 - 数组直接存储

最初

void setDerivedKey(byte[] derivedKey)
{
this.derivedKey = derivedKey;
}

void setDerivedKey (byte[] newDerivedKey)
{
if(newDerivedKey==null)
 {  this.derivedKey = new byte[0];          }
else
 {   this.derivedKey = Arrays.copyOf(newDerivedKey, newDerivedKey.length); }
} 

如何解决这个问题

    public pEngine(byte[] salt) {
    byte[] mySalt = Arrays.copyOf(salt, salt.length);  //Edited as per below    answer
    this.parameters = new pParameters("SomeValue", "SomeValue2", salt, 100); }

修复的影响是什么

 Performance
 Memory management
 Functionality

最佳答案

我不确定我是否理解。为什么不:

public pEngine(byte[] salt) {
    byte[] mySalt = Arrays.copyOf(salt, salt.length);
    this.parameters = new pParameters("SomeValue", "SomeValue2", mySalt, 100);
}

关于java - 防御性复制帮助-数组直接存储-影响分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32374805/

相关文章:

java - 如何对多个元素上的 Vector<Vector<String>> 进行排序,将子项分组在一起?

java - 删除操作栏以制作弹出窗口

javascript - Array.push 不是 Promise 内部的函数

android - 如何避免 APK 文件的逆向工程

security - 使用 JWT 进行应用身份验证和授权

从 Oracle 数据库获取 float 时出现 Java 精度问题 - 无法正确舍入

java - 如何在主类中调用java方法

Char[] 值没有被打印?

javascript - 如何在javascript中将整数列表转换为数组缓冲区?

PHP+jQuery 游戏安全