Terminal Enigma machine simulator
$ go install github.com/lusingander/enigma/cmd/enigma-simulator@latest
(require Go 1.18+)
| Key | Description |
|---|---|
| A - Z | input |
| Ctrl+c | quit |
| Esc | reset |
import "github.com/lusingander/enigma/enigma" func main() { e := enigma.NewM3( [3]enigma.Rotor{ enigma.NewRotor1('A', 'A'), // (initial position, ring setting) enigma.NewRotor2('A', 'A'), enigma.NewRotor3('A', 'A'), }, enigma.NewReflectorB(), enigma.NewPlugboard(), ) e.EncodeString("HELLO") // returns "MFNCZ" e.EncodeString("HELLO") // returns "RHOZF" }MIT
