相关疑难解决方法(0)

截断md5的均匀分布?

我们可以说截断的md5哈希仍然是均匀分布的吗?

为了避免误解:我知道当你开始从md5结果中删除部分时碰撞的可能性要大得多; 我的用例实际上是有意故意碰撞.我也知道有其他 哈希方法可能更适合使用较短哈希的情况(实际上包括我自己的哈希),我肯定会研究那些.

但我也很想知道md5均匀分布是否也适用于它的大块.(认为​​这是一种燃烧的好奇心.)

由于mediawiki使用它(特别是最左边的两个十六进制数字作为结果的字符)来生成图像的文件路径(例如/4/42/The-image-name-here.png),并且他们可能也对至少接近均匀的分布感兴趣,我想答案是'是',但我实际上并不知道.

hash md5 distribution

34
推荐指数
2
解决办法
5804
查看次数

最短的哈希?MD5/SHA.第一个字符,git

我需要哈希函数.用户将这些哈希写入计算机,因此哈希应该很短.我将在数据库中拥有大约5 000 000条记录.每个都必须有自己的哈希.我想有独特的哈希.但如果一些记录有相同的哈希值,我可以接受.独特更好.

MD2对我来说是安全的,但哈希很长:"8350e5a3e24c153df2275c9f80692773" - 32个字符.如果你必须在keybord上写10个MD2哈希你不开心...

Git每次提交都使用SHA1(40个字符).但在输出中只显示前7个字符:

$ git log
commit e2cfc89fae5b43594b2c649fd4c05bcc6d2d12ac
...
commit 56a8b4c50d4269dc3f88727472933fd81231f63b
...
commit ce2e9ddbe896b9592abbd5fcb6604b181809d523
...
commit 498c49833516ea33b6a40697634ea6e3cfd62328
...
commit b7d78aea415e64d8d441f9747fe6d5d48fe54ee5

$ git log --oneline | head -n 5
e2cfc89 commnit message...
56a8b4c commnit message...
ce2e9dd commnit message...
498c498 commnit message...
b7d78ae commnit message...
Run Code Online (Sandbox Code Playgroud)

它是如何安全/独特的?如果我将使用例如来自MD5/SHA-1/SHA-256的前5个或10个字符,它是否足够安全?

谢谢.

git hash md5 sha

6
推荐指数
2
解决办法
6980
查看次数

标签 统计

hash ×2

md5 ×2

distribution ×1

git ×1

sha ×1