vignere-babbage-cipher-web
Version:
The Vignere-Babbage cipher for web.
39 lines (31 loc) • 1.24 kB
JavaScript
;
if (typeof document === "undefined") {
global.document = { querySelector: function querySelector() {}, addEventListener: function addEventListener() {} };
global.window = {};
}
var $ = require("elly"),
vignereBabbage = require("vignere-babbage-cipher");
window.onload = function () {
var $result = $("#result");
var $key = $("#key");
var $textInput = $("#text-input");
var doOp = function doOp() {
var key = $key.value.trim();
if (!key) {
$result.textContent = "Please provide a key.";
return;
}
var op = $("[name='operation']:checked").value;
$result.textContent = vignereBabbage[op]($textInput.value, key);
if (op === "encrypt") {
var up = $textInput.value.toUpperCase();
if (vignereBabbage.decrypt($result.textContent, key) !== up) {
$result.textContent = "ERROR: Failed to encrypt the text successfully. Keep writing or remove punctuation such as new lines.";
}
}
};
$textInput.addEventListener("input", doOp);
$key.addEventListener("input", doOp);
$(".controls").addEventListener("change", doOp);
};
module.exports = function m() {};