package api_security import ( "crypto/sha256" "math/rand" ) func GenerateKey(secret string) []byte { key := sha256.Sum256([]byte(secret)) return key[:] } func GenerateIV(secret, salt string) []byte { return GenerateKey(secret + salt)[:16] } const strPool = "012345679qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM" func GenerateIVSalt() string { var n [16]byte for i := 0; i < 16; i++ { n[i] = byte(strPool[rand.Intn(len(strPool))]) } return string(n[:]) }