zxcvbn-go/zxcvbn.go

22 lines
659 B
Go
Raw Normal View History

2015-10-06 22:21:39 +00:00
package zxcvbn
import (
2017-11-02 13:33:00 +00:00
"time"
2017-11-02 15:11:51 +00:00
"github.com/nbutton23/zxcvbn-go/match"
"github.com/nbutton23/zxcvbn-go/matching"
"github.com/nbutton23/zxcvbn-go/scoring"
"github.com/nbutton23/zxcvbn-go/utils/math"
)
2017-11-02 13:33:00 +00:00
func PasswordStrength(password string, userInputs []string, filters ...func(match.Matcher) bool) scoring.MinEntropyMatch {
start := time.Now()
2017-11-02 13:33:00 +00:00
matches := matching.Omnimatch(password, userInputs, filters...)
result := scoring.MinimumEntropyMatchSequence(password, matches)
end := time.Now()
calcTime := end.Nanosecond() - start.Nanosecond()
result.CalcTime = zxcvbn_math.Round(float64(calcTime)*time.Nanosecond.Seconds(), .5, 3)
return result
2016-01-13 22:49:04 +00:00
}