Files
opencloud/ocis-pkg/generators/password.go
Christian Richter c5d0791f53 add password generator
Signed-off-by: Christian Richter <crichter@owncloud.com>
2022-04-27 10:58:27 +02:00

21 lines
437 B
Go

package generators
import (
"crypto/rand"
"math/big"
)
func GenerateRandomPassword(length int) (string, error) {
const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-=+!@#$%^&*."
ret := make([]byte, length)
for i := 0; i < length; i++ {
num, err := rand.Int(rand.Reader, big.NewInt(int64(len(chars))))
if err != nil {
return "", err
}
ret[i] = chars[num.Int64()]
}
return string(ret), nil
}