首页 > 语言 > PHP > 正文

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

2024-05-05 00:09:32
字体:
来源:转载
供稿:网友

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

PHP类:

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的写法:

<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>

 

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


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选