fix coin flip
This commit is contained in:
		
							
								
								
									
										14
									
								
								password.go
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								password.go
									
									
									
									
									
								
							@@ -3,26 +3,20 @@ package scsusers
 | 
			
		||||
import (
 | 
			
		||||
	"crypto/rand"
 | 
			
		||||
	"encoding/base32"
 | 
			
		||||
	mr "math/rand"
 | 
			
		||||
	"time"
 | 
			
		||||
	"unicode"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func flipCoin() bool {
 | 
			
		||||
	x := make([]byte, 1)
 | 
			
		||||
	_, err := rand.Read(x)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	if uint8(x[0]) % 2==0 {
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
	r:=mr.New(mr.NewSource(time.Now().Unix()))
 | 
			
		||||
	return r.Intn(2)==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 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user