20,359
社区成员
发帖
与我相关
我的任务
分享
<script type="text/javascript" src='aes.js'></script>
<script type="text/javascript">
var key = '123454536f667445454d537973576562';
key = CryptoJS.enc.Hex.parse(key);
var iv = CryptoJS.enc.Hex.parse("1234577290ABCDEF1264147890ACAE45");
var encrypted = CryptoJS.AES.encrypt('T10515', key, {iv: iv,mode:CryptoJS.mode.CBC}).toString()
alert(encrypted);
</script>
<?php
$pk = "123454536f667445454d537973576562";
$iv = "1234577290ABCDEF1264147890ACAE45";
$t = ('T10515');
$encrypted = ( mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$pk,$t,MCRYPT_MODE_CBC,$iv) );
echo 'base64_encode'.(base64_encode($encrypted)).'<br>';
?>
Warning: mcrypt_encrypt(): Received initialization vector of size 32, but size 16 is required for this encryption mode in F:\LAMP\Apache2.4\htdocs\fee\cry.php on line 32
text = 'T10515';
var key = '123454536f667445454d537973576562';
key = CryptoJS.enc.Utf8.parse(key);
var iv = "1234577290ABCDEF1264147890ACAE45";
iv = CryptoJS.enc.Utf8.parse(iv);
var encrypted = CryptoJS.AES.encrypt(text, key, {
iv: iv,
mode:CryptoJS.mode.CBC,
padding:CryptoJS.pad.ZeroPadding
}).toString()
document.write(encrypted);
b7y/JPJFNTfxNVR8H4NNtw==
php 部分$pk = "123454536f667445454d537973576562";
$iv = substr("1234577290ABCDEF1264147890ACAE45", 0, 16);
$t = 'T10515';
$encrypted = ( mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $pk, $t, MCRYPT_MODE_CBC,$iv) );
echo base64_encode($encrypted).'<br>';
b7y/JPJFNTfxNVR8H4NNtw==
解密echo mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $pk, $encrypted, MCRYPT_MODE_CBC, $iv);
T10515
可以推断, js 部分实际只使用了 iv 的 16 位长度