Шифрование текста средствами JavaScript
Зашифровать текст обратимым шифрованием можно прямо в браузере и буквально в несколько строк.
Я намеренно указал, что шифрование обратимое, а это значит, что зашифрованную информацию, можно расшифровать. При необратимом шифровании это сделать фактически невозможно и расшифровка займёт слишком много времени.
Шифровать будем простой текст:
Например зашифруем текст "Медиаблокчейн Голос".
Функция для шифрования будет выглядеть следующим образом:
function Encrypt(text) {
output = new String;
tmp = new Array();
tmp2 = new Array();
textLength = text.length;
for (i = 0; i < textLength; i++) {
rnd = Math.round(Math.random() * 122) + 68;
tmp[i] = text.charCodeAt(i) + rnd;
tmp2[i] = rnd;
}
for (i = 0; i < textLength; i++) {
output += String.fromCharCode(tmp[i], tmp2[i]);
}
return output;
}
Давайте зашифруем нашу строку:
var secret = Encrypt('Медиаблокчейн Голос');
Результат будет примерно таким:
ҪӉҊVө±ѷGҹҔY҉KҌRҢ[ӣ®ұxҖYқ҅GҏT҃Eҩh
Функция для расшифровки будет выглядеть вот так:
function unEncrypt(text) {
output = new String;
tmp = new Array();
tmp2 = new Array();
textLength = text.length;
for (i = 0; i < textLength; i++) {
tmp[i] = text.charCodeAt(i);
tmp2[i] = text.charCodeAt(i + 1);
}
for (i = 0; i < textLength; i = i+2) {
output += String.fromCharCode(tmp[i] - tmp2[i]);
}
return output;
}
И расшифруем так:
var string = unEncrypt('ҪӉҊVө±ѷGҹҔY҉KҌRҢ[ӣ®ұxҖYқ҅GҏT҃Eҩh')
Рабочий пример тут https://www.vp-golos.ml/test/encrypt.html