more
This commit is contained in:
parent
21646ee66c
commit
caa80fd73b
|
@ -13,6 +13,7 @@ import (
|
|||
func TestUsers(t *testing.T) {
|
||||
var email string
|
||||
c.testing = true
|
||||
generatePassword(16)
|
||||
flag.StringVar(&email, "email", "", "Email address to use for registration test")
|
||||
flag.Parse()
|
||||
|
||||
|
|
25
password.go
25
password.go
|
@ -3,28 +3,27 @@ package scsusers
|
|||
import (
|
||||
"crypto/rand"
|
||||
"encoding/base32"
|
||||
"log"
|
||||
mr "math/rand"
|
||||
"time"
|
||||
"unicode"
|
||||
)
|
||||
|
||||
func flipCoin() bool {
|
||||
r:=mr.New(mr.NewSource(time.Now().Unix()))
|
||||
return r.Intn(2)==1
|
||||
|
||||
r := mr.New(mr.NewSource(time.Now().UnixNano()))
|
||||
return r.Intn(3) == 1
|
||||
}
|
||||
|
||||
func scrambleCase(in []byte) []byte {
|
||||
var out []byte
|
||||
for _, x := range string(in) {
|
||||
if unicode.IsUpper(x) {
|
||||
if flipCoin() {
|
||||
out = append(out, byte(x))
|
||||
} else {
|
||||
out = append(out, byte(unicode.ToLower(x)))
|
||||
|
||||
}
|
||||
if unicode.IsUpper(x) && flipCoin() {
|
||||
out = append(out, byte(unicode.ToLower(x)))
|
||||
} else {
|
||||
out = append(out, byte(x))
|
||||
}
|
||||
}
|
||||
log.Printf("scrambleCase in %s out %s", in, out)
|
||||
return out
|
||||
}
|
||||
|
||||
|
@ -48,7 +47,7 @@ func generatePassword(n int) []byte {
|
|||
}
|
||||
|
||||
func hasDigit(in []byte) bool {
|
||||
for _,x := range string(in) {
|
||||
for _, x := range string(in) {
|
||||
if unicode.IsDigit(x) {
|
||||
return true
|
||||
}
|
||||
|
@ -57,7 +56,7 @@ func hasDigit(in []byte) bool {
|
|||
}
|
||||
|
||||
func hasUppercase(in []byte) bool {
|
||||
for _,x:= range string(in) {
|
||||
for _, x := range string(in) {
|
||||
if unicode.IsUpper(x) {
|
||||
return true
|
||||
}
|
||||
|
@ -66,7 +65,7 @@ func hasUppercase(in []byte) bool {
|
|||
}
|
||||
|
||||
func hasLowercase(in []byte) bool {
|
||||
for _,x := range string(in) {
|
||||
for _, x := range string(in) {
|
||||
if unicode.IsLower(x) {
|
||||
return true
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue