微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MD5 基础:如何知道哈希位长和对称性?

如何解决MD5 基础:如何知道哈希位长和对称性?

我对 MD5 加密的一些基础知识感到好奇,我无法从 Google、Java 问题或密集的法律论文中获得:

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

2-MD5 是不对称算法吗?

示例:如果我的应用使用密钥(MD5_128 哈希字符串,由 9 个字符组成的 ANSI)与 REST 网络服务对话 (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/

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?