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)))
|
|
|
|
}
|