项目作者: romaleev

项目描述 :
TypeScript Enigma Machine Implementation
高级语言: TypeScript
项目地址: git://github.com/romaleev/enigma-ts.git
创建时间: 2017-02-07T16:46:45Z
项目社区:https://github.com/romaleev/enigma-ts

开源协议:

下载


Enigma Build Status

TypeScript Enigma Machine Implementation.

Enigma M3 with three rotors, reflector and plugboard.

Work principle can be found here

Install

  1. npm install

Usage

  1. var Enigma = require('enigma-ts');
  2. var enigma = new Enigma('AAA');
  3. enigma.process('HELLO WORLD'); // LMHNH TMAUA
  4. /**
  5. * Or with configuration
  6. * */
  7. var default_config = {
  8. rotors: [
  9. {'EKMFLGDQVZNTOWYHXUSPAIBRCJ': 'Q'},
  10. {'AJDKSIRUXBLHWTMCQGZNPYFVOE': 'E'},
  11. {'BDFHJLCPRTXVZNYEIWGAKMUSQO': 'V'},
  12. ],
  13. plugboard: ['AY', 'BR', 'CU', 'DH', 'EQ', 'FS', 'GL', 'IP', 'JX', 'KN', 'MO', 'TZ', 'VW'],
  14. reflector: 'YRUHQSLDPXNGOKMIEBFZCWVJAT',
  15. };
  16. enigma = new Enigma('OBY', default_config);
  17. enigma.positions; // OBY
  18. enigma.positions = 'AAA';
  19. enigma.positions; // AAA

Test

  1. npm test