gitee.com/lonely0422/gometalinter.git@v3.0.1-0.20190307123442-32416ab75314+incompatible/_linters/src/github.com/nbutton23/zxcvbn-go/zxcvbn.go (about)

     1  package zxcvbn
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/nbutton23/zxcvbn-go/match"
     7  	"github.com/nbutton23/zxcvbn-go/matching"
     8  	"github.com/nbutton23/zxcvbn-go/scoring"
     9  	"github.com/nbutton23/zxcvbn-go/utils/math"
    10  )
    11  
    12  func PasswordStrength(password string, userInputs []string, filters ...func(match.Matcher) bool) scoring.MinEntropyMatch {
    13  	start := time.Now()
    14  	matches := matching.Omnimatch(password, userInputs, filters...)
    15  	result := scoring.MinimumEntropyMatchSequence(password, matches)
    16  	end := time.Now()
    17  
    18  	calcTime := end.Nanosecond() - start.Nanosecond()
    19  	result.CalcTime = zxcvbn_math.Round(float64(calcTime)*time.Nanosecond.Seconds(), .5, 3)
    20  	return result
    21  }