因此,我制作了此网页,演示了基本AES加密和3DES加密的输出。用户输入一些纯文本,然后单击按钮以生成他们输入的文本的加密输出。我希望用户能够在不同的加密方式之间切换而不必重新输入文本。
当我首先单击AES按钮时,3DES按钮将不起作用。但是,如果我先单击3DES按钮,它将起作用,然后再单击AES按钮,它将起作用,但是单击AES按钮之后,3DES将不再起作用。 JavaScript是否可能以某种方式发生冲突?
以下是功能:
<script>
function aesEncrypt()
{
var text = CryptoJS.enc.Utf8.parse(document.getElementById('txtPlain').value);
var Key = CryptoJS.enc.Utf8.parse("PSVJQRk9QTEpNVU1DWUZCRVFGV1VVT0=");
var IV = CryptoJS.enc.Utf8.parse("2314345645678765");
var encryptedText = CryptoJS.AES.encrypt(text, Key, {keySize: 128 / 8,iv: IV, mode: CryptoJS.mode.CBC, padding:CryptoJS.pad.Pkcs7});
var encrypted = document.getElementById('txtOutput');
encrypted.value = encryptedText;
}
function desEncrypt()
{
var text2 = document.getElementById('txtPlain').value;
var key = "00f74597de203655b1ebf5f410f10eb8";
key = CryptoJS.MD5(key);
key.words[4] = key.words[0];
key.words[5] = key.words[1];
var iv = CryptoJS.lib.WordArray.create(64/8);
var encrypted2 = CryptoJS.TripleDES.encrypt(text2, key, {iv: iv});
document.getElementById("txtOutput").innerHTML = encrypted2;
}
</script>