Library
Module
Module type
Parameter
Class
Class type
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.
make
val make : ?salt:string -> string -> t
make ?salt secret
returns a new signer that will sign values with secret
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.