Java 加密过程中不清楚的消息填充

Java 加密过程中不清楚的消息填充,java,encoding,Java,Encoding,我正在检查一些应该处理加密的代码,发现了一个我不理解的步骤: StringBuilder encryptedPaddedMessage = new StringBuilder(encryptedMessage.length * 2); for (int i = 0; i < encryptedMessage.length; i++) { if (((int) encryptedMessage[i] & 0xff) < 0x10) {

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

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));
}
有人能解释一下这个代码的目的吗

感谢当小于0x10时,它会在每个字节的十六进制输出中添加一个前导0,这将是一个十六进制数字

可以改写:

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

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

谢谢,这是一种非常复杂的打印字符串的方法byte@Aurasphere,也许这就是加密的所在;