为什么MD5说是128位,却只有32个字符?

为什么MD5说是128位,却只有32个字符?这是因为这两个长度的概念不同;

通常MD5(不止MD5,其它例如sha1、sha256)等hash值通常都是以十六进制表示的,而其内部算法使用的是二进制;

以MD5值为例:

e10adc3949ba59abbe56e057f20f883e

用十六进制表示时,使用了32个16进制数;而一个16进制数用二进制表示时,需要占用4位;

转换成二进制就是:

11100001000010101101110000111001010010011011101001011001101010111011111001010110111000000101011111110010000011111000100000111110

占用128位;

一个表示的是二进制的位数,而另一个表示的是十六进制的位数;

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/md5-length.html

分类: 计算机技术
推荐阅读:
Python next()函数 next() 是 Python 的内置函数之一,用于获取迭代器中的下一个元素。
Python实现与智能机器人交互 本文将利用API与智能机器人进行人机交互,进行简单的聊天对话;代码由Python语言实现。
CreateThread()创建线程传递SOCKET参数 使用CreateThread()创建线程传递SOCKET参数的正确方法如下:
Rust实现冒泡排序算法(Bubble Sort) 本文将使用Rust语言实现冒泡排序算法;
PySide6 按钮(QPushButton) QPushButton 是 Qt 框架中表示可点击按钮部件的类。在 PySide6 中,你可以使用 QPushButton 类来创建和与图形用户界面(GUI)应用程序中的按钮交互。
禁用Visual Studio自动下载更新 近日,作者使用Visual Studio发现,Visual Studio会自己在后台下载更新内容,然后提醒你是否安装;因为Visual Studio的更新包体积庞大,不仅占用网络资源也会消耗磁盘性能,所以我决定禁用它;