Sha256: 4da34b100b7be6b1b980d48a98feee97f8629a70ff35a852cf9067dc6c19a451
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true require_relative "zxcvbn/adjacency_graphs" require_relative "zxcvbn/frequency_lists" require_relative "zxcvbn/matching" require_relative "zxcvbn/scoring" require_relative "zxcvbn/time_estimates" require_relative "zxcvbn/feedback" require_relative "zxcvbn/version" module Zxcvbn class Error < StandardError; end def self.zxcvbn(password, user_inputs = []) start = (Time.now.to_f * 1000).to_i matches = Matching.omnimatch(password, user_inputs) result = Scoring.most_guessable_match_sequence(password, matches) result["calc_time"] = (Time.now.to_f * 1000).to_i - start attack_times = TimeEstimates.estimate_attack_times(result["guesses"]) attack_times.each do |prop, val| result[prop] = val end result["feedback"] = Feedback.get_feedback(result["score"], result["sequence"]) result end def self.test(password, user_inputs = []) OpenStruct.new(Zxcvbn.zxcvbn(password, user_inputs)) # rubocop:disable Style/OpenStructUse end class Tester def test(password, user_inputs = []) Zxcvbn.test(password, user_inputs) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zxcvbn-0.1.11 | lib/zxcvbn.rb |
zxcvbn-0.1.10 | lib/zxcvbn.rb |