Parallel brute force: Difference between revisions

Added Sidef
m (→‎{{header|Perl}}: syntax highlighting)
(Added Sidef)
Line 1,814:
74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f
String: mmmmm
</pre>
 
=={{header|Sidef}}==
{{trans|Perl}}
<lang ruby>func invert_sha256(hash) {
 
var letters = @('a'..'z')
 
var job = func (prefix, hash) {
variations_with_repetition(letters, 4, {|*a|
var s = join('', prefix, a...)
return s if (s.sha256 == hash)
})
return nil
}
 
letters.map {|prefix|
job.ffork(prefix, hash)
}.each {|f|
with (f.wait) { return _ }
}
}
 
var tests = %w(
1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad
3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b
74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f
)
 
tests.each {|t|
var phrase = invert_sha256(t)
say "#{t} : #{phrase}"
}</lang>
{{out}}
<pre>
1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad : zyzzx
3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b : apple
74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f : mmmmm
</pre>
 
2,747

edits