func GenerateRandomKey(l int) (string, error) {
	b := make([]byte, l)
	if _, err := rand.Read(b); err != nil {
		return "", err
	}
	return fmt.Sprintf("%x", b), nil
}
// GenerateRandomKey generates a random string of length l.
// It returns an empty string and an error if an error occurs while generating a random number.
GenerateRandomKey generates a random string of length l.
It returns an empty string and an error if an error occurs while generating a random number.
// GenerateRandomKey generates a random string of length l . // It returns an empty string and an error if an error occurs while generating a random number .
func GenerateRandomKey(l int) (string, error) {
	b := make([]byte, l)
	if _, err := rand.Read(b); err != nil {
		return "", err
	}
	return fmt.Sprintf("%x", b), nil
}
func GenerateRandomKey ( l int ) ( string , error ) { b := make ( [ ] byte , l ) if _ , err := rand . Read ( b ) ; err != nil { return " " , err } return fmt . Sprintf ( " " , b ) , nil }
GenerateRandomKey generates a random string of length l.
It returns an empty string and an error if an error occurs while generating a random number.
GenerateRandomKey generates a random string of length l . It returns an empty string and an error if an error occurs while generating a random number .