authorizer/server/utils/generate_otp.go

26 lines
490 B
Go
Raw Permalink Normal View History

2022-07-24 05:10:37 +00:00
package utils
import (
"math/rand"
"time"
)
2022-08-02 12:56:05 +00:00
// GenerateOTP to generate random 6 digit otp
2022-07-24 05:10:37 +00:00
func GenerateOTP() string {
code := ""
codeLength := 6
charSet := "ABCDEFGHJKLMNPQRSTUVWXYZ123456789"
charSetLength := int32(len(charSet))
for i := 0; i < codeLength; i++ {
index := randomNumber(0, charSetLength)
code += string(charSet[index])
}
return code
}
func randomNumber(min, max int32) int32 {
rand.Seed(time.Now().UnixNano())
return min + int32(rand.Intn(int(max-min)))
}