我需要根据可变长度字符串生成一个Hash值,我可以将其存储在不超过16的字段中(由于供应商要求).
我正在连接几个正在通过C#脚本转换传递的字符串,以便计算哈希值.我受到供应商文件规范的限制,因为哈希的输出不能超过16.
有没有人有什么建议?作为示例,MD5算法的字符串转换具有32的长度.
加密函数的设计使得您可以将输出截断为某个大小,并且截断的散列函数仍然是安全的加密散列函数.例如,如果将SHA-512输出的前128位(16字节)应用于某些输入,则前128位是与任何其他128位加密哈希一样强的加密哈希.
解决方案是选择一些加密哈希函数 - SHA-256,SHA-384和SHA-512是不错的选择 - 并将输出截断为128位(16字节).
- 编辑 -
基于注释,当编码为ASCII时,哈希值必须符合16个ASCI字符,解决方案是
| 归档时间: |
|
| 查看次数: |
12783 次 |
| 最近记录: |