2018-1-6 17:10:19 星期六

 1 $data = '123456';
 2 $openssl_method = 'AES-256-CBC';
 3 $openssl_iv_length = openssl_cipher_iv_length($openssl_method);
 4 $openssl_iv = openssl_random_pseudo_bytes($openssl_iv_length);
 5 $openssl_password = openssl_random_pseudo_bytes(16);
 6
 7 echo '<pre>';
 8 // 加密
 9 $e = openssl_encrypt($data, $openssl_method, $openssl_password, 0, $openssl_iv);
10 echo  openssl_error_string ();
11
12 //解密
13 $f = openssl_decrypt($e, $openssl_method, $openssl_password, 0, $openssl_iv);
14 echo  openssl_error_string ();
15 var_dump($e, $f);

注意:

1. 加密后输出是base64编码后的结果, 可以直接输出到客户端

2. $options 有 OPENSSL_RAW_DATA 时, 输出的是加密后的原始结果, 没有用base64编码

3. $options 有 OPENSSL_ZERO_PADDING 时, 要求被加密的数据必须是"加密块"长度的整数倍

转载于:https://www.cnblogs.com/iLoveMyD/p/8214737.html

php OpenSSL 加解密相关推荐

  1. OpenSSL加解密

    Linux下环境搭建及编译 Linux下安装OpenSSL开发包 apt-get install libssl-dev apt-get install openssl 编译C++代码文件 g++ -o ...

  2. curses-键盘编码-openssl加解密【转】

    本文转载自;https://zhuanlan.zhihu.com/p/26164115 1.1 键盘编码 按键过程: 当用户按下某个键时, 1.键盘会检测到这个动作,并通过键盘控制器把扫描码(scan ...

  3. openssl在多平台和多语言之间进行RSA加解密注意事项

    首先说一下平台和语言: 系统平台为CentOS6.3,RSA加解密时使用NOPADDING进行填充 1)使用C/C++调用系统自带的openssl 2)Android4.2模拟器,第三方openssl ...

  4. linux证书存放路径,利用Tar和OpenSSL轻松加/解密文件和目录

    众所周知要想保护数据的安全比较简单快捷的方法无疑是给文件和目录进行加密的操作.相比于Windows给文件和目录进行加/解密的操作,在Linux上进行加/解密文件和目录要复杂一点.那么我们到底有没有什么 ...

  5. PHP 基础篇 - PHP 中 DES 加解密详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.简介 DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使 ...

  6. openssl aes加解密的使用

    1.先写一个用于生产二进制文件的工具 使用说明:新建main.c,将代码拷贝到main.c中,在linux环境下执行gcc main.c -o x,输出可执行文件x #include <stdi ...

  7. openssl qt 生成秘钥_关于openssl作的rsa生成密钥及加解密

    关于openssl做的rsa生成密钥及加解密 谁能给个在QtCreator上用openssl做的rsa生成密钥及加解密的例子参考下  网上找的都是片段 不全   谢谢! RSA openssl qtc ...

  8. php openssl des ecb,PHP7 OpenSSL DES-EDE-CBC加解密

    1. 条件约束 之前PHP5上常使用的mcrypt库在PHP7.1+上已经被移除,故我们采用openssl对数据进行加解密. 加密方式采用DES-EDE-CBC方式. 密钥填充方式为:采用24位密钥, ...

  9. 使用openssl完成aes-cbc模式的数据加解密,输入和输出都是字符串的形式

    代码 #include <cstring> #include <memory>#include <openssl/aes.h> #include <opens ...

最新文章

  1. 为什么 SSH 的默认端口是 22 ?
  2. Docker(十三):Docker 清理命令集锦
  3. “跟着菜鸟一起学R语言” 现已更名为“数据志”
  4. 服务熔断、降级、限流、异步RPC -- HyStrix
  5. CodeForces - 830C Bamboo Partition(数学+推公式)
  6. [css] 用css画一个太阳
  7. eclipse-sql server 2008连接
  8. Linux升级php
  9. 网络编程-TCP/IP各层介绍(5层模型讲解)
  10. unix network programming volume1 sorce code build and get(UNIX網絡編程卷1第三版)
  11. mysql云上迁移_MySQL迁移上云最佳实践
  12. android停止补间动画,android 帧动画,补间动画,属性动画的简单总结
  13. LOCAL_PRIVILEGED_MODULE 详解(3)
  14. 虚无世界java路_[AoA3]虚无世界3 (Advent of Ascension 3)
  15. 泊松分布(Poisson Distribution)
  16. hive中的distribute by
  17. 关于Dve C++——[Warning] pointer to a function used inarithmetic
  18. 自动驾驶过冬,需要点燃“降本增效”的炉火
  19. 【python爬虫】爬取深圳证券业协会公布的营业部数据并对pdf文件进行解析
  20. c语言俄罗斯方块程序设计论文,c语言俄罗斯方块游戏程序设计报告

热门文章

  1. jmeter聚个报告怎么看qps_【jmeter】jmeter测试网站QPS
  2. srs 服务关闭命令_【经验总结】如何做到网络版工作站与服务器时间同步?
  3. mysql5.0 php_php怎么连接mysql5.0?
  4. php xcat createadmin,php xcat update升级后出错,不知怎么弄
  5. Spring事务传播属性和隔离级别
  6. Linux中Shell的转义用法笔记
  7. 常用的几个JavaScript调试技巧
  8. python 调用bat失败_要想顺利通过Python面试,你最起码需要达到白银段位!
  9. 利益相关者软件工程_改善开发人员团队与非技术利益相关者之间交流的方法
  10. 现代游戏中的UX趋势