package opium

  1. Overview
  2. Docs

Sign an unsign cookies with secret.

Beware that signing a cookie is not the same as encrypting it! The value of a signed cookie is still visible to anyone, so don't store any sensitive information in it.

When signing a cookie, a hash of its value is generated using the Signer's secret. The generated string is appended to the Cookie's value. So, for instance, if you have a Cookie key=value, the signed cookie will look like key=value.xRt15vh.

When reading the cookie value, the hash will be regenerated again and compared with the sent value. If the values are not the same, the cookie has been tempered with, and we discard it.

type t

Constructors

make

val make : ?salt:string -> string -> t

make ?salt secret returns a new signer that will sign values with secret

Signing functions

sign

val sign : t -> string -> string

sign signer value signs the string value with signer

unsign

val unsign : t -> string -> string option

unsign signer value unsigns a signed string value with signer.Httpaf

To avoid time attacks, this function is constant time, it will iterate through all the characters of value, even if it is not the same.