android - getEncryptedData(String) 调用效率低下的新 String(String) 构造函数 - Findbugs
问题描述
我正在尝试将 byte[] 转换为 String.and 它工作正常。但是 FindBugs 在我的代码片段中指出了一个小问题。
代码片段:
//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));
有人可以简要介绍一下这到底是什么吗?我们如何解决这个问题?
解决方案
代替
encryptedData = new String(Base64.encodeToString(encryptedBytes, Base64.DEFAULT));
和
encryptedData = Base64.encodeToString(encryptedBytes, Base64.DEFAULT);
编码为字符串已经返回字符串。
推荐阅读
- c# - IQueryable 执行 LINQ 查询后返回空结果
- spring-boot - 使用 SpringDoc webflux 支持时无法显示 Swagger/OpenApi 文档
- sql-server - 允许在 Oracle 中为 SSRS 报告提供多个值
- jestjs - 无法使用 jest 在 vuejs 中获取 vuex 存储 getters 数据
- ios - 如何从不同的函数调用 TextField
- gitlab-ci - 来自 kubectl 命令中另一个项目的 Gitlab CI 参考文件
- javascript - 在 Chrome 扩展中使用 Google API 电子表格 JS 删除值
- python - 隐藏(或不显示)mplfinance 中的图
- sql - 如何在 SQL SERVER 2016+ 中生成 SHA-3(256) 哈希
- node.js - 如何在 Github 操作中设置 sendgrid 邮件?