Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. require 'digest/sha1'
  2.  
  3. def combinator(arr, comb_arr = arr, len)
  4. return if len == 0
  5. if len == 1
  6. return comb_arr
  7. else
  8. tmp_arr = []
  9.  
  10. arr.each do |ch|
  11. comb_arr.each do |comb|
  12. tmp_arr << comb + ch
  13. end
  14. end
  15.  
  16. combinator(arr, tmp_arr, len - 1)
  17. end
  18. end
  19.  
  20. def pwd_brute_force(md5_str, len)
  21. alphabet = ('a'..'z').to_a
  22. pwd_combos = combinator(alphabet, len)
  23.  
  24. pwd_combos.each do |pwd|
  25. return pwd if Digest::SHA1.hexdigest(pwd) == md5_str
  26. end
  27. 'Not found'
  28. end
  29.  
  30. md5_str = Digest::SHA1.hexdigest("hey")
  31.  
  32. puts pwd_brute_force(md5_str, 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement