2016-09-12 36 views
-1

我想使用Rijndael 128 ecb算法解密像4vEUkMYlT2qJq + 9J0GT8VQ ==这样的加密密码。我发现了一些库,但没有任何工作正常。一些库只与nodejs一起工作,其他人使用php。我只有一个简单的html页面,可以从ajax获得加密文本,并且我想使用相同的算法Rijndael 128 ecb进行解密。 (加密文本是4vEUkMYlT2qJq + 9J0GT8VQ ==解密结果是Novaphen) 每个人都可以给我一个解决方案用javascript解密?解密与Rijndael 128 ecb在简单的html页面中使用javascript

+0

您还没有提问。你应该编辑包含一个问题。确保你问的问题实际上是按照[帮助]的话题。 –

回答

0

最后我可以用这个链接来做。 :Encrypt with PHP, Decrypt with 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>