【问题标题】:getEncryptedData(String) invokes inefficient new String(String) constructor - FindbugsgetEncryptedData(String) 调用效率低下的新 String(String) 构造函数 - Findbugs
【发布时间】:2018-07-13 08:53:24
【问题描述】:

我正在尝试将 byte[] 转换为 String.and 它工作正常。但是 FindBugs 在我的代码 sn-p 中指出了一个小问题。

代码 sn-p:

        //Encrypt the data withe public key.
        Cipher cipher = Cipher.getInstance(TRASFORMATION);
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        byte[] encryptedBytes = cipher.doFinal(data.getBytes(StandardCharsets.UTF_8));
        encryptedData = new String(Base64.encodeToString(encryptedBytes, Base64.DEFAULT));

查找错误报告:

getEncryptedData(String) 调用低效的新 String(String) 构造函数

我在哪一行收到此错误?

encryptedData = new String(Base64.encodeToString(encryptedBytes, Base64.DEFAULT));

有人可以简要介绍一下这到底是什么吗?我们该如何解决这个问题?

【问题讨论】:

    标签: android findbugs spotbugs


    【解决方案1】:

    替换

    encryptedData = new String(Base64.encodeToString(encryptedBytes, Base64.DEFAULT));
    

    encryptedData = Base64.encodeToString(encryptedBytes, Base64.DEFAULT);
    

    Encode to String 已经在返回字符串了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      相关资源
      最近更新 更多