/*
* Copyright (C) 2024 Jonni Liljamo <jonni@liljamo.com>
*
* This file is licensed under AGPL-3.0-or-later, see NOTICE and LICENSE for
* more information.
*/
package util
import (
"encoding/base64"
"math/rand"
)
const charsTsigKey = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%&*()+=_-'\"\\][{}/?"
// GenTsigKey returns a base64 tsig shared secret.
func GenTsigKey() string {
b := make([]byte, 32)
for i := range b {
b[i] = charsTsigKey[rand.Int63()%int64(len(charsTsigKey))]
}
return base64.StdEncoding.EncodeToString(b)
}