diff --git a/securecookie.go b/securecookie.go index 4d5ea86..177eb58 100644 --- a/securecookie.go +++ b/securecookie.go @@ -510,12 +510,12 @@ func decode(value []byte) ([]byte, error) { // persisted. New keys will be created when the application is restarted, and // previously issued cookies will not be able to be decoded. // -// Callers should explicitly check for the possibility of a nil return, treat -// it as a failure of the system random number generator, and not continue. +// Panics if the system random number generator cannot come up with the requested +// amount of randomness. func GenerateRandomKey(length int) []byte { k := make([]byte, length) if _, err := io.ReadFull(rand.Reader, k); err != nil { - return nil + panic(fmt.Sprintf("could not generate %d bytes of randomness: %s", length, err.Error())) } return k }