0

我很好奇一些我无法从谷歌获得的 MD5 加密基础知识、Java 问题和密集的法律论文:

1-如何以字节为单位测量 MD5 哈希字符串?它是否取决于字符串是 UNICODE 还是 ANSI?

2-MD5是不对称算法吗?

示例:如果我的应用程序使用密钥(MD5_128 哈希字符串,由 9 个字符组成的 ANSI)与 REST Web 服务对话(http)来解密接收到的数据,那么在非对称算法中这是否占 9x8=72 字节?

我在 Windows 中使用 Windevs 25,使用 Encrypt 和 HashString 等函数,但我缺乏关于加密的知识。

编辑:还没有回答,但在跳转到哈希和加密之前,我似乎需要更多地了解字符集。https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/

4

1 回答 1

1

一个 MD5 哈希是 128 位,16 字节。结果是二进制,而不是文本,因此它既不是“ANSI”也不是“Unicode”。像所有散列一样,它是不对称的,这从您可以散列长度超过 128 位的输入这一事实中可以看出。由于它是非对称的,因此您无法“解密”(解密)它。这是设计和故意的。

于 2021-01-28T15:00:34.630 回答