Ändern Sie den Schlüssel mit CryptoJS [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Ciphertext konvertiert nicht in einfachen Text und wird nicht benachrichtigt 2 Antworten

Ich verwende CryptoJS zum Ver- und Entschlüsseln des Texts. Hier nehme ich nur die Nachricht und zeige die beiden Verschlüsselungs- und Entschlüsselungsnachrichten an.

ch verwende den DES-Algorithmus zum Ver- und Entschlüssel

Dies ist meine HTML-Datei

<!DOCTYPE html>
<html>
<head>
    <script src="tripledes.js"></script>
    <script src="mode-ecb.js"></script>
    <style type="text/css">
        .maindiv {
            /* Just to center the form on the page */
            margin: 0 auto;
            width: 400px;
            /* To see the outline of the form */
            padding: 1em;
            border: 1px solid #CCC;
            border-radius: 1em;
        }
         div + div {
                margin-top: 1em;
            }
        label {
            /* To make sure that all labels have the same size and are properly aligned */
            display: inline-block;
            width: 90px;
            text-align: right;
        }
        .button {
            /* To position the buttons to the same position of the text fields */
            padding-left: 90px; /* same size as the label elements */
        }

        button {
            /* This extra margin represent roughly the same space as the space
       between the labels and their text fields */
            margin-left: .5em;
        }
        input:focus, textarea:focus {
            /* To give a little highlight on active elements */
            border-color: #000;
        }
        input, textarea {
            /* To make sure that all text fields have the same font settings
       By default, textareas have a monospace font */
            font: 1em sans-serif;
            /* To give the same size to all text field */
            width: 300px;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            /* To harmonize the look & feel of text field border */
            border: 1px solid #999;
        }
    </style>
    <script type="text/javascript">

        function viewvalue()
        {
            var message = document.getElementById("msg").value;
            var key = document.getElementById("key").value;
            var encrypted = encryptByDES(message, key);
            document.getElementById("enctext").textContent = encrypted;
            document.getElementById("dectxt").textContent = decryptByDES(encrypted, key);;


        }

        function encryptByDES(message, key) {

            var keyHex = CryptoJS.enc.Utf8.parse(key);

            var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
                mode: CryptoJS.mode.ECB,
                padding: CryptoJS.pad.Pkcs7
            });
            return encrypted.toString();
        }

        function decryptByDES(ciphertext, key) {
            var keyHex = CryptoJS.enc.Utf8.parse(key);

            var decrypted = CryptoJS.DES.decrypt({
                ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
            }, keyHex, {
                mode: CryptoJS.mode.ECB,
                padding: CryptoJS.pad.Pkcs7
            });

            return decrypted.toString(CryptoJS.enc.Utf8);
        }
    </script>
</head>
<body>

    <div class="maindiv">
        <div>
            <label for="name">Message:</label>
            <input type="text" id="msg" name="msg" />
        </div>
        <div>
            <label for="mail">Key:</label>
            <input type="text" id="key" name="key" />
        </div>
        <div>
            <label for="msg">Encrypted Text:</label>
            <textarea id="enctext" name="enctxt"></textarea>
        </div>
        <div>
            <label for="msg">Decrypted Text:</label>
            <textarea id="dectxt" name="dectxt"></textarea>
        </div>
        <div class="button">
            <button onclick="viewvalue()">View</button>
        </div>
    </div>
</body>
</html>

Dies ist meine .js-Datei

/*
CryptoJS v3.1.2
code.google.com/p/crypto-js
(c) 2009-2013 by Jeff Mott. All rights reserved.
code.google.com/p/crypto-js/wiki/License
*/
/**
 * Electronic Codebook block mode.
 */
CryptoJS.mode.ECB = (function () {
    var ECB = CryptoJS.lib.BlockCipherMode.extend();

    ECB.Encryptor = ECB.extend({
        processBlock: function (words, offset) {
            this._cipher.encryptBlock(words, offset);
        }
    });

    ECB.Decryptor = ECB.extend({
        processBlock: function (words, offset) {
            this._cipher.decryptBlock(words, offset);
        }
    });

    return ECB;
}());

Bitte kann mir jeder sagen, wo und wie ich den Schlüssel ändere.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage