essentialkaos
branca
Go

Authenticated encrypted API tokens (IETF XChaCha20-Poly1305 AEAD) for Golang

Last updated Jun 30, 2026
99
Stars
9
Forks
1
Issues
+1
Stars/day
Attention Score
28
Language breakdown
No language data available.
Files click to expand
README

PkgGoDev GoReportCard Codacy
Coverage Status GitHub Actions CI Status GitHub Actions CodeQL Status

InstallationUsage exampleBenchmarksBuild StatusLicense


branca.go is branca token specification implementation for Go 1.23+.

Features and benefits:

  • Pure Go implementation;
  • No third-party dependencies at all;
  • 100% code coverage;
  • Fuzz tests.

Installation

Make sure you have a working Go 1.23+ workspace (instructions), then:

go get -u github.com/essentialkaos/branca/v2

Usage example

package main

import ( "fmt" "github.com/essentialkaos/branca/v2" )

func main() { key := "abcd1234abcd1234abcd1234abcd1234" brc, err := branca.NewBranca([]byte(key))

if err != nil { fmt.Printf("Error: %v\n", err) return }

payload := "MySuperSecretData" token, err := brc.EncodeToString([]byte(payload))

if err != nil { fmt.Printf("Error: %v\n", err) return }

fmt.Printf("Token: %s\n", token) }

Benchmarks

You can run benchmarks by yourself using make benchmark command.

go version go1.23.2 linux/amd64

BrancaSuite.BenchmarkBase62Decoding 1000000 1106 ns/op 408 B/op 7 allocs/op BrancaSuite.BenchmarkBase62Encoding 1000000 1105 ns/op 512 B/op 6 allocs/op BrancaSuite.BenchmarkBrancaDecoding 5000000 421 ns/op 48 B/op 2 allocs/op BrancaSuite.BenchmarkBrancaDecodingFromString 1000000 1632 ns/op 456 B/op 9 allocs/op BrancaSuite.BenchmarkBrancaEncoding 1000000 2108 ns/op 152 B/op 4 allocs/op BrancaSuite.BenchmarkBrancaEncodingToString 500000 3854 ns/op 664 B/op 10 allocs/op

Build Status

| Branch | Status | |--------|----------| | master | CI | | develop | CI |

Contributing

Before contributing to this project please read our Contributing Guidelines.

License

Apache License, Version 2.0

🔗 More in this category

© 2026 GitRepoTrend · essentialkaos/branca · Updated daily from GitHub