与javascript中的CryptoJS和PHP中的Mcrypt不同的结果

与javascript中的CryptoJS和PHP中的Mcrypt不同的结果,javascript,php,Javascript,Php,第一个代码是jscript cryptoJS,它实际上加密了我提供的数据。我在php中的mcrypt中也做了同样的操作,还提供了常量IV键和一些键。结果表明,有些结果是不同的。IV键在调用时与keybase64键不同。看一看 这里是JSCRIPTcryptoJS function crypto_encrypt(text) { //This is for J

第一个代码是jscript cryptoJS,它实际上加密了我提供的数据。我在php中的mcrypt中也做了同样的操作,还提供了常量IV键和一些键。结果表明,有些结果是不同的。IV键在调用时与keybase64键不同。看一看

这里是JSCRIPTcryptoJS

function crypto_encrypt(text) {                                                                        //This is for JS
var keyBase64 = CryptoJS.enc.Base64.parse("ITU2NjNhI0tOc2FmZExOTQ==");
var iv = CryptoJS.enc.Base64.parse('AAAAAAAAAAAAAAAAAAAAAA==');

var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(text), keyBase64,
    {
        keySize: 128 / 8,
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });

// Returns a Base64 encoded string.
return encrypted;
}

然后我用这个来称呼它

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script type='text/javascript' src='./jquery.soap.js'></script>
<!--<script type='text/javascript' src='./soapclient.js'></script>-->

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/components/enc-base64-min.js"></script>
<script type='text/javascript' src='./HCSConnect.js'></script>
</head>
<body>
<script language="JavaScript" type="text/javascript">
var encryptedname = crypto_encrypt('Patrick'); 
alert(encryptedname);

</script>
</body>
</html>
答案是xjhimm0zms6rosthdanbuwyb1ihnve1


我哪里出错了。

你没有对你的钥匙和iv进行解码:

function fnEncrypt($sValue, $sSecretKey)
{
return rtrim(
    base64_encode(
        mcrypt_encrypt(
            MCRYPT_RIJNDAEL_192,
            base64_decode("ITU2NjNhI0tOc2FmZExOTQ=="),$sValue, // added base64_decode
           MCRYPT_MODE_CBC, 
            $iv = base64_decode('AAAAAAAAAAAAAAAAAAAAAA==') // added base64_decode
            )
      ), "\0"
    );
}
与其他函数相同

function fnEncrypt($sValue, $sSecretKey)
{
return rtrim(
    base64_encode(
        mcrypt_encrypt(
            MCRYPT_RIJNDAEL_192,
            base64_decode("ITU2NjNhI0tOc2FmZExOTQ=="),$sValue, // added base64_decode
           MCRYPT_MODE_CBC, 
            $iv = base64_decode('AAAAAAAAAAAAAAAAAAAAAA==') // added base64_decode
            )
      ), "\0"
    );
}