Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 652 Bytes

README.md

File metadata and controls

26 lines (19 loc) · 652 Bytes

goffx

goffx is a pure go implementation of Format-preserving, Feistel-based encryption (FFX) from https://github.com/emulbreh/pyffx.

Only support sha1 at present. It's no difficult to add other encryption algorithms.

Usage

package main

import (
    "fmt"

    "github.com/Me1onRind/goffx"
)

func main() {
    ie := goffx.Integer("secret-key", 4)
    fmt.Println(ie.Encrypt(1234)) // output 6103 <nil>
    fmt.Println(ie.Decrypt(6103)) // output 1234 <nil>

    se := goffx.String("secret-key", "abc", 6)
    fmt.Println(se.Encrypt("aaabbb")) // output "acbacc" <nil>
    fmt.Println(se.Decrypt("acbacc")) // output "aaabbb" <nil>
}