code: func New(hashKey, blockKey []byte) *SecureCookie {
  	s := &SecureCookie{
  		hashKey:   hashKey,
  		blockKey:  blockKey,
  		hashFunc:  sha256.New,
  		maxAge:    86400 * 30,
  		maxLength: 4096,
  		sz:        GobEncoder{},
  	}
  	if len(hashKey) == 0 {
  		s.err = errHashKeyNotSet
  	}
  	if blockKey != nil {
  		s.BlockFunc(aes.NewCipher)
  	}
  	return s
  }
docs: // New returns a new SecureCookie.
  //
  // hashKey is required, used to authenticate values using HMAC. Create it using
  // GenerateRandomKey(). It is recommended to use a key with 32 or 64 bytes.
  //
  // blockKey is optional, used to encrypt values. Create it using
  // GenerateRandomKey(). The key length must correspond to the block size
  // of the encryption algorithm. For AES, used by default, valid lengths are
  // 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256.
  // The default encoder used for cookie serialization is encoding/gob.
  //
  // Note that keys created using GenerateRandomKey() are not automatically
  // persisted. New keys will be created when the application is restarted, and
  // previously issued cookies will not be able to be decoded.