一个unsigned char md5[4]数组转成uint32_t的无符号整数转化其实也很简单,只要清楚内存的分布结构就没有问题
linux内存是由高地址到低地址的,对于md5[4]和int a的分布就是这样子的,md5数组占用4个字节,int也占用4个字节,char数组转成int数组的时候,就是从char数组的末尾开始的,一张图看懂看不懂就看造化了
#include <stdint.h>
int main()
{
unsigned char md5[4] = {
0x1, 0x2, 0x3, 0x4};
//67305985
博客介绍了如何将一个unsigned char的MD5[4]数组转换为uint32_t无符号整数,强调理解内存分布结构的重要性。在Linux中,内存从高地址到低地址排列,转换过程中是从MD5数组的末尾开始的。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



