Skip to content
Bruce Marriner edited this page Feb 23, 2017 · 12 revisions

Welcome to The Go-Alone Wiki!

  1. What Is Go-Alone?
  2. What Is Go-Alone For?
  3. What Problem Does Go-Alone Solve?
## What Is Go-Alone?

go-alone is a Go package that provides A very simple to use HMAC signer and unsigner that tries to be fairly performant. This is useful for one-time email tokens, authentication tokens, or to cryptographically sign any arbitrary data so that it can be transmitted or stored in an unsecure way but is tamper proof so when it comes back to you, you can verify that it is exactly the same data that you originally signed.

The development of go-alone was highly influenced by the popular itsdangerous python library. The tokens go-alone creates are very similar to itsdangerous tokens however they are not compatible with each other. go-alone uses a faster integer optimized base58 coding for timestamps and does not have the "Salt" or serializer features of itsdangerous. Both of those things can still be accomplished. You can prepend your "Salt" key to the secret (this is how salting is done in itsdangerous) and use any of the existing Go serializers before passing the data to go-alone for signing.

go-alone tokens solve a similar problem to what JSON Web Tokens solve. However go-alone tokens are smaller so they take less bandwidth and time to transmit across networks and of course less space to store.

What Is Go-Alone For?

## What Problem Does Go-Alone Solve?
Clone this wiki locally