-1

Rijndael 128 ecb アルゴリズムを使用して、4vEUkMYlT2qJq+9J0GT8VQ== のような暗号化された暗号を解読したいと考えています。いくつかのライブラリを見つけましたが、何も正しく動作しません。一部のライブラリは nodejs でのみ動作し、他のライブラリは php で動作します。ajax から暗号化テキストを取得する単純な html ページしかありません。同じアルゴリズム Rijndael 128 ecb を使用して復号化したいと考えています。(暗号化テキストは 4vEUkMYlT2qJq+9J0GT8VQ== 復号化された結果は Novaphen です) javascript で復号化するソリューションをすべての人に教えてもらえますか?

4

1 に答える 1

1

最後に、このリンクでそれを行うことができます。: PHP で暗号化、Javascript で復号化 ここに私の復号化関数があります:

    function DecryptData(encryptedData) {
    var decryptedText = null;
    try {
        // Mcrypt pads a short key with zero bytes
        key = CryptoJS.enc.Utf8.parse('doctorlinktechno')

        iv = CryptoJS.enc.Utf8.parse('keee')

        // Keep the ciphertext in Base64 form
        ciphertext = '4vEUkMYlT2qJq+9J0GT8VQ=='

        // Mcrypt uses ZERO padding
        plaintext = CryptoJS.AES.decrypt(ciphertext, key, { iv: iv, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.ZeroPadding })

        // I ran this in nodejs
        return CryptoJS.enc.Utf8.stringify(plaintext);
    }
    //Malformed UTF Data due to incorrect password
    catch (err) {
        return "";
    }
}

ポイントは、作業に基づいて依存ファイルを含める必要があるということです。たとえば、ecb モードとパディング ゼロを使用したいので、次のファイルを含めました。

<script src="scripts/aes/core.js"></script>
<script src="scripts/aes/enc-base64.js"></script>
<script src="scripts/aes/cipher-core.js"></script>
<script src="scripts/aes/aes.js"></script>
<script src="scripts/aes/mode-ecb.js"></script>
<script src="scripts/aes/pad-zeropadding.js"></script>
于 2016-09-12T16:13:50.493 に答える