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