zoukankan      html  css  js  c++  java
  • Atitit aes 加密法php实现

    Atitit aes 加密法php实现

     

     

    <?php

    $data="aaaaccc";

     $secret_key="abcdefgh";

    //echo openssl_encrypt($data, $this->method, $this->secret_key, $this->options, $this->iv);

    echo openssl_encrypt($data'AES-128-ECB'$secret_key,0"");

    echo " ";

    echo openssl_decrypt("qjuIItb9e3IuYk0hi8ZN4g=="'AES-128-ECB'$secret_key,0"");

     

     

    • 常见的填充模式有: pkcs5、pkcs7、iso10126、ansix923、zero。
    • 加密模式有:DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。

     

    常见参数$iv 加解密的向量,有些方法需要设置比如CBC

    $method 加密方式

     

     switch($this->bit) {

               case 192:$this->cipher = MCRYPT_RIJNDAEL_192; break;

               case 256:$this->cipher = MCRYPT_RIJNDAEL_256; break;

               default: $this->cipher = MCRYPT_RIJNDAEL_128;

           } 

     

           switch($this->mode) {

               case 'ecb':$this->mode = MCRYPT_MODE_ECB; break;

               case 'cfb':$this->mode = MCRYPT_MODE_CFB; break;

               case 'ofb':$this->mode = MCRYPT_MODE_OFB; break;

               case 'nofb':$this->mode = MCRYPT_MODE_NOFB; break;

               case 'cbc':$this->mode = MCRYPT_MODE_CBC; break;

               default: $this->mode = MCRYPT_MODE_CBC;

     

    $options 数据格式选项(可选)【选项有:】

    • 0
    • OPENSSL_RAW_DATA=1
    • OPENSSL_ZERO_PADDING=2
    • OPENSSL_NO_PADDING=3

    需要注意:如果$method为DES-ECB,则$iv无需填写

     

     

    使用案例

  • 相关阅读:
    未分类[selenium]常见元素定位
    未分类[selenium]-元素定位不到的原因及解决办法
    1.4测试需求分析
    1.3测试用例设计方法
    1.2软件生命周期&测试流程
    《Python 高级编程》简要读书笔记
    app基本测试要点总结
    python 找出两个列表的相同元素与不同元素
    mysql 8.0之后关于group by 语句报错问题
    selenium webdriver 执行原理
  • 原文地址:https://www.cnblogs.com/attilax/p/15196975.html
Copyright © 2011-2022 走看看