Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexashley/enigma
an Enigma emulator written in Go
https://github.com/alexashley/enigma
Last synced: 2 days ago
JSON representation
an Enigma emulator written in Go
- Host: GitHub
- URL: https://github.com/alexashley/enigma
- Owner: alexashley
- Created: 2015-12-20T03:58:44.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-25T03:29:19.000Z (about 9 years ago)
- Last Synced: 2024-11-11T14:51:20.107Z (2 months ago)
- Language: Go
- Homepage:
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Enigma
An [Enigma](https://en.wikipedia.org/wiki/Enigma_machine) emulator written in Go.
## Status
Currently only supports the M3TO-DO:
- shiftable static rotor
- additional machine types## Features
- Can be extended through the use of JSON configuration files (see config directory)
- Logging to file/stdout so the machine execution can be traced.
- Tests for each machine type## Usage
- `git clone https://github.com/gleisner/enigma.git` into the `src` directory of your `$GOPATH`
- `go install enigma`Example:
```go
import "enigma"
func main() {
M3 := enigma.LoadConfig("config/M3.json")
// rotors: left middle right, then reflector
M3.InitEnigma("I", "II", "III", "B")
// XLNZB CSCQQ PWWFR UEGOH NMLPU ZIM
M3.Log.Println(M3.Code("So long and thanks for all the fish!", 5))
}
```
Run the tests with `go test`
## Resources
http://users.telenet.be/d.rijmenants/en/enigmatech.htmhttp://people.physik.hu-berlin.de/~palloks/js/enigma/enigma-u_v20_en.html