猿问

加密期间消息填充不清晰

我正在审查一些应该处理加密的代码,我发现了一个我不理解的步骤:


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));

}

谁能解释这段代码的目的是什么?


蓝山帝景
浏览 89回答 1
1回答

莫回无

0当它小于0x10(并且将是一个十六进制数字)时,它会在每个字节的十六进制输出中添加前导。它可以被重写:encryptedPaddedMessage.append(String.format("%02x",&nbsp;encryptedMessage[i]&nbsp;&&nbsp;0xff));请注意,它并不是真正的“加密”,而是“编码”为十六进制字符串。
随时随地看视频慕课网APP

相关分类

Java
我要回答