summaryrefslogtreecommitdiff
path: root/vendor/github.com/wagslane/go-password-validator/entropy.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-03-10 01:59:49 +0100
commit3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch)
treef61faa581feaaeaba2542b9f2b8234a590684413 /vendor/github.com/wagslane/go-password-validator/entropy.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/wagslane/go-password-validator/entropy.go')
-rw-r--r--vendor/github.com/wagslane/go-password-validator/entropy.go39
1 files changed, 0 insertions, 39 deletions
diff --git a/vendor/github.com/wagslane/go-password-validator/entropy.go b/vendor/github.com/wagslane/go-password-validator/entropy.go
deleted file mode 100644
index 340dac270..000000000
--- a/vendor/github.com/wagslane/go-password-validator/entropy.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package passwordvalidator
-
-import (
- "math"
-)
-
-// GetEntropy returns the entropy in bits for the given password
-// See the ReadMe for more information
-func GetEntropy(password string) float64 {
- return getEntropy(password)
-}
-
-func getEntropy(password string) float64 {
- base := getBase(password)
- length := getLength(password)
-
- // calculate log2(base^length)
- return logPow(float64(base), length, 2)
-}
-
-func logX(base, n float64) float64 {
- if base == 0 {
- return 0
- }
- // change of base formulae
- return math.Log2(n) / math.Log2(base)
-}
-
-// logPow calculates log_base(x^y)
-// without leaving logspace for each multiplication step
-// this makes it take less space in memory
-func logPow(expBase float64, pow int, logBase float64) float64 {
- // logb (MN) = logb M + logb N
- total := 0.0
- for i := 0; i < pow; i++ {
- total += logX(logBase, expBase)
- }
- return total
-}