如何将SHA1转换为无符号长整型数组[5]
How to convert SHA1 to array[5] of unsigned long ints?
为了使用库/子系统,我必须将SHA1(使用例如opensll计算)转换为无符号长整型(32位变量)的5元素数组,或者自己创建前面提到的SHA1-5-long-array。
原因:
SHA1 (160 bits) = 5 x unsigned long int (32 bits)
我认为第一个解决方案会更好,所以我的问题是:我应该如何完成这项任务?逐字节逐位读取,然后从中创建无符号长整型并将其放入数组中,或者有其他解决方案吗?
SHA1生成一个20字节的哈希值。在openssl中,它返回一个unsigned char*
。我猜你可以使用unsigned char[20]
和uint32_t[5]
的union
,并使用这些字符来轻松访问字节:
union mysha1{
uint32_t shaint[5];
unsigned char shachar[20];
};
再加上一堆运算符(例如索引),你就可以开始了。
如果你想保持粗糙和简单,你可以在SHA1输出和uint32_t[5]
之间做一个memcpy
。
相关文章:
- C 字符串返回字符串的整数/双精度/长整型值
- 无法在 Arduino 中uint8_t数组转换为无符号长整型数组
- JNI 日期值转换问题,在C++中获取不同的长整型值
- 将长整型值打印为带有前导零的十六进制
- 为什么在传递长整型时调用具有两个双精度类型的参数的重载函数?
- 将元组和整型实例合并到引用元组中
- 提升不良词法强制转换:将字符串转换为无符号长整型时,无法将源类型值解释为目标
- 将最小值整数转换为无符号长整型
- 如何将小端格式的QByteArray转换为无符号长整型
- 无符号长整型和无符号 int 之间有什么区别,这 2 种类型应该如何在 c# 中封送?
- 将 BYTE 数组转换为无符号长整型
- 如何设置,在C/C++中清除一个长整型数
- 如何将SHA1转换为无符号长整型数组[5]
- 我需要以相反的方式复制一个长整型数组,我需要系统函数,例如 memcpy 有没有
- 如何将字节数组转换为整数类型(整数、长整型、短型等)"安眠安"?
- 在 C++ 中获取长整型和双精度型模数的准确方法
- 复制存储在空指针的整型数组到整型数组
- 定义长整型长数组
- 指向char数组的整型指针
- 比较浮点数组和整型数组