为了账号安全,请及时绑定邮箱和手机立即绑定

加密期间消息填充不清晰

加密期间消息填充不清晰

蓝山帝景 2023-06-21 16:12:54
我正在审查一些应该处理加密的代码,我发现了一个我不理解的步骤:StringBuilder encryptedPaddedMessage = new StringBuilder(encryptedMessage.length * 2);    for (int i = 0; i < encryptedMessage.length; i++) {        if (((int) encryptedMessage[i] & 0xff) < 0x10) {            encryptedPaddedMessage.append("0");        }        encryptedPaddedMessage.append(Long.toString((int) encryptedMessage[i] & 0xff, 16));}谁能解释这段代码的目的是什么?
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

0当它小于0x10(并且将是一个十六进制数字)时,它会在每个字节的十六进制输出中添加前导。

它可以被重写:

encryptedPaddedMessage.append(String.format("%02x", encryptedMessage[i] & 0xff));

请注意,它并不是真正的“加密”,而是“编码”为十六进制字符串。


查看完整回答
反对 回复 2023-06-21
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信