当前位置:编程学习 > > 正文

php加密平台(PHP7实现和CryptoJS的AES加密方式互通示例AES-128-ECB加密)

时间:2022-01-25 00:09:11类别:编程学习

php加密平台

PHP7实现和CryptoJS的AES加密方式互通示例AES-128-ECB加密

本文实例讲述了PHP7实现和CryptoJS的AES加密方式互通。分享给大家供大家参考,具体如下:

PHP类:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • class AES
  • {
  •   /**
  •    *
  •    * @param string $string 需要加密的字符串
  •    * @param string $key 密钥
  •    * @return string
  •    */
  •   public static function encrypt($string, $key)
  •   {
  •     // openssl_encrypt 加密不同Mcrypt,对秘钥长度要求,超出16加密结果不变
  •     $data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
  •     return base64_encode($data);
  •   }
  •   /**
  •    * @param string $string 需要解密的字符串
  •    * @param string $key 密钥
  •    * @return string
  •    */
  •   public static function decrypt($string, $key)
  •   {
  •     return openssl_decrypt(base64_decode($string), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
  •   }
  •   /**
  •    * 获取秘钥
  •    * @return string
  •    */
  •   public static function getSecretKey()
  •   {
  •     $str='xxx';//生成16位的字符窜
  •     return $str;
  •   }
  • }
  • JS的写法:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • <script type="text/javascript" src="./bower_components/crypto-js/crypto-js.js"></script>
  • <script type="text/javascript">
  •   AesKey = 'xxxxx';//加密时用的key,跟php一样
  •   message='xxxxxxx';//加密后的字符窜
  •   var ECBOptions = {
  •     mode: CryptoJS.mode.ECB,
  •     padding: CryptoJS.pad.Pkcs7
  •   };
  •   var key = CryptoJS.enc.Utf8.parse(AesKey);
  •   var bytes = CryptoJS.AES.decrypt(message, key,ECBOptions);
  •   var originalText = bytes.toString(CryptoJS.enc.Utf8);
  •   console.log(originalText)
  • </script>
  • PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

    文字在线加密解密工具(包含AES、DES、RC4等):https://tool.zzvips.com/t/txtencode/

    MD5在线加密工具:https://tool.zzvips.com/t/md5/

    在线Escape加密、解密工具:https://tool.zzvips.com/t/escape/

    在线sha1/sha224/sha256/sha384/sha512加密工具:https://tool.zzvips.com/t/sha/

    希望本文所述对大家PHP程序设计有所帮助。

    原文链接:https://blog.csdn.net/LCRxxoo/article/details/89680346

    上一篇下一篇

    猜您喜欢

    热门推荐