thodelu
DP 321
HTML
<input type="text" id="cipher" size="50" value="NLWC WC M NECN" />
<input type="button" id="go" value="go" />
<div id="solutions">
</div>
CSS
input {
width: 100%;
padding: 5px;
margin: 5px;
}
JavaScript
var dictWords = [];
$.ajax("https://raw.githubusercontent.com/first20hours/google-10000-english/master/google-10000-english.txt").done(function(data) {
dictWords = data.split(/[^\w]/);
});
var as = [9, 21, 15, 19, 7, 23, 11, 5, 17, 25];
$("#go").click(function() {
$("#solutions").empty();
var cipherWords = $("#cipher").val().split(/[^\w]/);
for (var i = 0; i < as.length; i++) {
var a = as[i];
for (var b = 0; b < 26; b++) {
var clearText = "";
for (var j = 0; j < cipherWords.length; j++) {
var cipher = cipherWords[j];
var clearArray = [];
for (var k = 0; k < cipher.length; k++) {
var c = cipher.charCodeAt(k) - 65;
var p = (26 * 26 + a * (c - b)) % 26;
clearArray.push(String.fromCharCode(p + 97));
}
var clear = clearArray.join("");
if (dictWords.includes(clear)) {
clearText += clear + " ";
} else {
clearText = "";
break;
}
}
if (clearText != "") {
var solution = "<p>" + clearText + "</p>";
$(solution).appendTo("#solutions");
}
}
};
alert("Done.");
});