js加密的密文PHP解密(AES算法)

<?php
$str = "test1"; //加密内容
$key = "key:111"; //密钥


$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC),MCRYPT_RAND);//初始化向量
echo "加密明文:".$str."<p>";
$str_encrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$key,$str,MCRYPT_MODE_CBC,$iv); //加密函数
echo "加密密文:".$str_encrypt." <p>";
echo "加密密文base64_en:".base64_encode($str_encrypt)." <p>";
echo "加密密文base64_de:".base64_decode(base64_encode($str_encrypt))." <p>";
$str_decrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$key,$str_encrypt,MCRYPT_MODE_CBC,$iv); //解密函数
echo "还原:".$str_decrypt;
echo '<hr>';
 $privateKey = "1111111111111111";
 $iv =                "1111111111111111";
 $encryptedData = base64_decode('bPwmyDgAcqYP0dTdHz3Uq5JpgrKkC+oU2SW7ic4k7eQFOqWyBTWZE/RE8rES/QXe');
 $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $privateKey, $encryptedData, MCRYPT_MODE_CBC, $iv);
 var_dump( $decrypted );
 ?>
 <html>
 <head><title></title>
 <script src="/js/aes.js"></script>
 <script src="/js/md5.js"></script>
 <script src="/js/pad-zeropadding.js"></script>
 </head>
 <body>
  
    <script>
        var data = "mysql_connect('111.111.111.111','root','111111')";
        var key = CryptoJS.enc.Latin1.parse('1111111111111111');
        var iv =    CryptoJS.enc.Latin1.parse('1111111111111111');
        var encrypted = CryptoJS.AES.encrypt(data, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding });
        document.write(encrypted);
    </script>
</body>
</html>


http://www.cnblogs.com/liulun/p/3543774.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用MATLAB实现AES加密解密算法的示例代码: ```matlab % AES加密解密算法示例代码 密钥长度为128位,分组长度为128位 % 明文和密文均为16字节长度的字符串 % 加密函数 function ciphertext = aes_encrypt(plaintext, key) % 将明文和密钥转换为字节数组 plaintext_bytes = uint8(plaintext); key_bytes = uint8(key); % 创建AES加密器对象 aes_enc = aes_ctr(key_bytes, 'BlockSize', 16); % 加密明文 ciphertext_bytes = step(aes_enc, plaintext_bytes); % 将密文转换为字符串 ciphertext = char(ciphertext_bytes)'; end % 解密函数 function plaintext = aes_decrypt(ciphertext, key) % 将密文和密钥转换为字节数组 ciphertext_bytes = uint8(ciphertext); key_bytes = uint8(key); % 创建AES解密器对象 aes_dec = aes_ctr(key_bytes, 'BlockSize', 16); % 解密密文 plaintext_bytes = step(aes_dec, ciphertext_bytes); % 将明文转换为字符串 plaintext = char(plaintext_bytes)'; end % 示例代码 plaintext = 'Hello, AES!'; key = '0123456789abcdef'; ciphertext = aes_encrypt(plaintext, key); disp(['明文:', plaintext]); disp(['密钥:', key]); disp(['密文:', ciphertext]); disp(['解密后的明文:', aes_decrypt(ciphertext, key)]); ``` 该示例代码实现了AES加密解密算法,使用了MATLAB内置的AES加密器对象和AES解密器对象。其中,加密函数`aes_encrypt`接受明文和密钥作为输入,返回密文解密函数`aes_decrypt`接受密文和密钥作为输入,返回明文。示例代码还演示了如何使用这两个函数进行加密解密

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值