Zum Hauptinhalt springen
claw
am
tools
Werkzeuge
Dokumente
Daoark
EN
Startseite
Startseite
/
Verschlüsselung & Codierung
›
Startseite
manifest.json
= n || seen[arr[i]]) throw new Error('密钥必须是 1..n 的排列'); seen[arr[i]] = true; } return arr; } function encrypt(text, perm) { var n = perm.length; while (text.length % n !== 0) text += 'X'; var out = ''; for (var i = 0; i < text.length; i += n) { var block = text.substring(i, i + n).split(''); for (var j = 0; j < n; j++) out += block[perm[j]]; } return out; } function decrypt(cipher, perm) { var n = perm.length; var inv = new Array(n); for (var i = 0; i < n; i++) inv[perm[i]] = i; return encrypt(cipher, inv); } function doProcess() { try { var textA = getVal('text-a'); if (!textA) { showError('请输入'); return; } var op = getVal('op'); var perm = parseKey(getVal('key')); var out = op === 'descriptografar' ? decrypt(textA, perm) : encrypt(textA, perm); showResult(out, '密钥: [' + perm.map(function(x) { return x + 1; }).join(',') + '],操作: ' + op); } catch (e) { showError('处理失败: ' + (e.message || e)); } } $('btn-main').addEventListener('click', function(e) { e.preventDefault(); doProcess(); }); $('btn-clear').addEventListener('click', function() { var inputs = document.querySelectorAll('input,textarea,select'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].tagName === 'SELECT') inputs[i].selectedIndex = 0; else inputs[i].value = inputs[i].defaultValue; } var ra = $('result-area'); ra.hidden = true; ra.style.display = 'none'; var em = $('error-msg'); em.hidden = true; em.style.display = 'none'; }); })();