php实战 AES对称加密 第三章
对称加密
对称加密 很好理解,就是指加密和解密的时候密钥都是同一个,是 对称 的。只要保证密钥的安全,那整个通信过程就可以说具有了机密性。接下来会以 AES加密算法来实战说明。
AES
AES 的意思是 高级加密标准。密钥长度可以是 128、192或256.它是DES算法的替代者,安全强度很高,性能也很好,而且有的硬件还会做特殊优化,所以非常流行。是应用最广泛的对称加密算法。
实战
在一些需要安全性高的业务里面,我们常会用到 非堆成加密。但是在一些简单的数据处理方面,我们还是可以使用对称加密的。毕竟非对称加密比对称加密耗费的时间要更多的。在项目中,我们经常会对银行卡之类的数据进行加密处理。
<?phpclass AesTest
{protected $secretKey = '123213'; // 自定义密钥/*** encryptAES AES-SHA1PRNG加密算法* @param $string* @return string*/public function encryptAES($string){//AES加密通过SHA1PRNG算法$key = substr(openssl_digest(openssl_digest($this->secretKey, 'sha1', true), 'sha1', true), 0, 16);$data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);$data = strtoupper(bin2hex($data));return $data;}/*** encryptAES AES-SHA1PRNG解密算法* @param $string* @return string*/public function decryptAES($string){$key = substr(openssl_digest(openssl_digest($this->secretKey, 'sha1', true), 'sha1', true), 0, 16);$decrypted = openssl_decrypt(hex2bin($string), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);return $decrypted;}
}$aes = new AesTest();
$data = $aes->encryptAES(6210188800062739624);
$decryptedData = $aes->decryptAES($data);
php实战 AES对称加密 第三章相关推荐
- 编写ATL工程实现ActiveX控件调用cryptoAPI接口(三)------------AES对称加密与解密
注:下面的代码中用了Map,Base64,log,Result等都为自定义类型,太长就不一一贴出. [cpp] view plain copy print ? /* * * * 文件名称:Enc ...
- RSA(非对称)+AES(对称加密)前后台交互
前言: 为了提高安全性采用了RSA,但是为了解决RSA加解密性能问题,所以采用了RSA(非对称)+AES(对称加密)方式,如果只考虑其中一种的,可以去看我前面两篇文章,专门单独写的demo,可以 ...
- 正确使用AES对称加密
正确使用AES对称加密 经常我看到项目中有人使用了对称加密算法,用来加密客户或项目传输中的部分数据.但我注意到开发 人员由于不熟悉原理,或者简单复制网上的代码示例,有导致代码存在安全风险. 我经常遇到 ...
- 路飞学城—Python爬虫实战密训班 第三章
路飞学城-Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫:- 定义调度器- 定 ...
- RSA加密及AES对称加密代码实现
最近老师布置了两个加密的作业,记录一下编码过程及遇到的问题. 对于RSA解密基本内容这里就不赘述,直接说一下编码过程把: 1:N = p*q(p.q互质,即公约数只有1)可以用辗转相除去判断 2:L是 ...
- Python代码实现MD5、AES对称加密和RSA非对称加密以及OpenSSl实践
1.MD5加密算法 1.1 MD5加密的特点 不可逆运算 对不同的数据加密的结果是定长的32位和16位字符(不管文件多大都一样) 对相同的数据加密,得到的结果是一样的(也就是复制). 抗修改性 :信息 ...
- 详解AES对称加密(python实现文件加密)
一.对称加密 对称加密:需要对加密和解密使用相同密钥的加密算法. 优点:速度快,适合加密大量数据时使用. 缺点:不利于传送密钥.(后面文章在介绍非对称加密传输对称加密的密钥,此处应用是文件加密,密钥只 ...
- Android+Java中使用Aes对称加密的工具类与使用
场景 Android+Java中使用RSA加密实现接口调用时的校验功能: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11146 ...
- python爬虫实战之旅( 第三章:数据解析(bs4法))
上接:第三章:数据解析(正则法) 下接:第三章:数据解析(xpath法) 1.数据解析步骤 标签定位 提取标签,标签属性中存储的数据值 2.bs4数据解析的原理 实例化一个BeautifulSoup对 ...
最新文章
- C#_uploadify_mvc_version
- 折腾了一晚上Windows网络却未果
- Oracle 数据库DBA管理手册!
- php mysql 查询时间_PHP-MySQL查询需要大量时间才能执行
- QGLViewer 编译安装步骤
- 无需搭建和训练模型,87行代码搞定文章摘要生成
- python实现项目的复制_python实现复制大量文件功能
- iOS开发之模拟器(simulator)的复制粘贴
- catia设计树_在CATIA目录树上**零件号原来这么简单!
- 利用win10自带的系统配置禁止开机启动项和程序
- Matlab App Designer自学笔记(三):利息计算器案例
- C++如何输入/输出
- 厨师 做菜 java_经验丰富的厨师有哪些日常做饭技巧?
- Navicat Premium的使用
- Autofac实现依赖注入
- 爬虫:常见的HTTP错误代码及错误原因
- 《2022微隔离技术与安全用例研究报告》发布
- 三点法求点三维坐标实验
- 现在有什么地推项目_目前互联网都有哪些红利地推项目
- 数美科技斩获36氪“WISE 2020数据智能最佳解决方案”