zoukankan      html  css  js  c++  java
  • PHP API接口数据简单快速的加密解密

    php7.0版本以上不支持mcrypt_encryp函数进行加密的代码,加密方式改为openssl_encrypt

    用自己私人的服务器来测试吧,99买阿里云

     openssl_系列支持php5.3以上版本

    1、加密方式:openssl_encrypt

    // 待加密数据$data 

    // 加密方式$method ='des-ecb';

    // 密钥$key = 'dfsf3s@!Q$fse8';

    // 加密后的数据$data2 

    $data2 = openssl_encrypt($data, 'des-ecb', 'dfsf3s@!Q$fse8');

    2、加密方式:openssl_decrypt

    // 待解密数据$data2 

    // 加密方式$method ='des-ecb';

    // 密钥$key = 'dfsf3s@!Q$fse8';

    // 解密后的数据$data

    $data = openssl_decrypt($data2, 'des-ecb', 'dfsf3s@!Q$fse8');

    3.扩展

    PHP 的 OpenSSL 扩展中,对称加密的相关函数有:

    • openssl_encrypt()
    • openssl_decrypt()
    • openssl_random_pseudo_bytes() 
    • openssl_cipher_iv_length()

    函数openssl_encrypt和openssl_decrypt参数相同都是($data, $method, $key, $options, $iv)

    1. $data 字符串
    2. $method 加密算法,如:des-ecb,AES-128-CBC,AES-128-CBC-HMAC-SHA1,AES-128-ECB,seed-ofb大概100多种
    3. $key 密钥
    4. $options 可选, 填充方式,默认0
    5. $iv 可选,初始化向量,用 openssl_random_pseudo_bytes() 生成随机$iv。
    •    $iv长度随加密算法不同而不同,需要函数openssl_cipher_iv_length($method)获取长度。如: openssl_cipher_iv_length('BC-CBC'); //长度 8,
    •    有些加密方式不用传$iv这个参数,如:des-ecb,AES-128-ECB


    最后,加密和解密时候要确保除了$data以外其他参数相同哦。

  • 相关阅读:
    关于v$librarycache的几个字段含义
    nmon监控
    ORA-01841: (full) year must be between -4713 and +9999,
    MySql 5.7 新特性概览
    权限传递
    ORA-03135 防火墙超时设置断开db link 连接
    Oracle Profile使用详解(转)
    查看Oracle数据库SQL执行历史
    ALTER SEQUENCE 导致 REPLICAT 延时
    trace/trace2命令
  • 原文地址:https://www.cnblogs.com/hiit/p/13328415.html
Copyright © 2011-2022 走看看