gpt4 book ai didi

security - 我可以用它自己组合多少次 md5 函数?

转载 作者:行者123 更新时间:2023-12-04 02:44:43 28 4
gpt4 key购买 nike

出于学习目的,找出我可以将 md5 函数与其自身组合多少次会很有用 没有得到相同的值 .

这是盐的并行/互补方法,因为这样一来,使用蛮力就更难破解该值。

最佳答案

看似无限。然而 MD5 已被证明不是 collision resistant所以在某些时候你会有一个副本。

下面的 Ruby 代码将循环应用 MD5 散列算法,直到检测到重复,此时它将打印到达重复点所需的循环数。原始字符串是从字母字符中随机生成的。

require 'set'
require 'digest'

keys = Set.new

o = [('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten
string = (0...10).map{ o[rand(o.length)] }.join
count = 0

while !keys.include?(string) do
count += 1
puts count
keys << string
string = Digest::MD5.digest(string)
end

puts "#{count}"

这继续运行超过 1500 万个周期......一旦发现重复,我将更新。

更新:由于我的机器资源有限,我不得不在 75,933,338 个周期后停止上述脚本而没有冲突(该集合已在内存中分配了约 8 GB)

关于security - 我可以用它自己组合多少次 md5 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058149/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com