【发布时间】:2014-11-19 05:07:00
【问题描述】:
我看过一些关于加密的例子。几乎在所有例子中得到摘要消息后,我们得到的是字节数组。之后它们被转换为十六进制十进制字符串。是否必须转换为十六进制十进制字符串。或者是还有其他方法吗?
提前谢谢...
【问题讨论】:
标签: java cryptography bytearray hex
我看过一些关于加密的例子。几乎在所有例子中得到摘要消息后,我们得到的是字节数组。之后它们被转换为十六进制十进制字符串。是否必须转换为十六进制十进制字符串。或者是还有其他方法吗?
提前谢谢...
【问题讨论】:
标签: java cryptography bytearray hex
作为原始binary data 传递的数据在传输过程中很容易被破坏,并且不同的系统可能会将二进制数据中的某些字节解释为控制字符,从而产生意想不到的结果。
您应该始终使用base64 或hexadecimal encoding 对密文数据进行编码。生成的文本可以在不丢失完整性的情况下轻松传输,然后可以在解密之前在目标系统上解码回二进制文件。
One byte is an 8-bit value 可以用hexadecimal 表示。字节数组是一系列十六进制值。
【讨论】:
不太清楚你的意思,字节[] 以及十六进制甚至简单的字符串转换都只是摘要的一些有用表示,具体取决于所使用的上下文。如果您想让它在 GUI / 浏览器中易于使用,即供人类使用,byte[] 将不起作用,因此下一个更紧凑的形式是 hex,因为 4bytes 构成一个 char。所以它非常紧凑且易于使用。
然后是网络使用,您经常会看到它们也使用 base64 编码以确保长度恒定
【讨论】: