php aes加密中文,PHP AES加密 - 菜鸟要飞啊的IT小窝 - OSCHINA - 中文开源技术交流社区...
1、aes加密类
namespace app\common;
//也可以直接用define定义常量
//define('KEY','12345');
//define('IV','12345');
/**
* Aes 对称加密
*/
class Aes {
const KEY = '12345';
const IV = '12345';
/**
* 加密 ECB - 128 - addPkcs7Padding
*/
public function encrypts($data)
{
// $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, self::KEY, $this->addPkcs7Padding($data), MCRYPT_MODE_ECB,self::IV);//php7.1以下版本用法
return base64_encode(openssl_encrypt($data,"AES-128-ECB",self::KEY,OPENSSL_RAW_DATA));//php7.1以上版本用法
}
/**
* 解密
*/
public function decrypts($data)
{
// $data =base64_decode($data);
// return $this->stripPkcs7Padding(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, self::KEY, $data, MCRYPT_MODE_ECB, self::IV));//php7.1以下版本用法
return openssl_decrypt(base64_decode($data),"AES-128-ECB",self::KEY,OPENSSL_RAW_DATA);//php7.1以上版本用法
}
public function addPkcs7Padding($string, $blocksize = 16)
{
$len = strlen($string); //取得字符串长度
$pad = $blocksize - ($len % $blocksize); //取得补码的长度
$string .= str_repeat(chr($pad), $pad); //用ASCII码为补码长度的字符, 补足最后一段
return $string;
}
public function stripPkcs7Padding($string){
$slast = ord(substr($string, -1));
$slastc = chr($slast);
$pcheck = substr($string, -$slast);
if(preg_match("/$slastc{".$slast."}/", $string)){
$string = substr($string, 0, strlen($string)-$slast);
return $string;
} else {
return false;
}
}
}
2、使用。我是用的Yii框架(但基本用法都差不多)
use app\common\Aes;
//......
$aes = new Aes();
$res = $aes->encrypts($data);//加密
//$res = $aes->decrypts($data);//解密
php aes加密中文,PHP AES加密 - 菜鸟要飞啊的IT小窝 - OSCHINA - 中文开源技术交流社区...相关推荐
- java教程菜鸟要飞_php7新特性 - 菜鸟要飞啊的IT小窝 - OSCHINA - 中文开源技术交流社区...
虽然PHP已经出来很久了,连PHP8都出来了,但还是想写一下,记录一下PHP7,目前就想到这么多 常用新特性 1.?? 和 ?: 主要区别:??判断前者是否存在,?:判断前者是否为真 $a = 'aa ...
- 去静态化 php,PHP页面静态化 - 菜鸟要飞啊的IT小窝 - OSCHINA - 中文开源技术交流社区...
静态网页是服务器上面真实存在的页面,它不需要编译,用户就可以直接访问这样的网页,后缀一般为.html或者是.htm.如果我们把这个网页上传到我们的服务器或者是空间,那么它就可以通过直接访问我们的域名去 ...
- 每天学习java一小时_java再学感受 - 编程一小时的个人空间 - OSCHINA - 中文开源技术交流社区...
首先的是,我买了一本新的有关于java的书,刚开始看,其实在此之前我已经学了一本java语法的书本,现在我买的这本书是我用来提升自己的java认知水平的,首先是对这本书的第一印象吧,里面的内容比较详细 ...
- python sqlite3加密_sqlite3加密 - kjpioo的个人空间 - OSCHINA - 中文开源技术交流社区...
SQLite 3 开源版不带加密功能,对于一个保存在本地的数据库来说没有加密功能让人难以接受,只要用记事本打开数据库就可以看到数据库内保存的数据,对安全多多少少有一点影响.有一个办法是把内容加密后保存 ...
- des vue 双倍长 解密_3DES双倍长加密 - osc_ojx9hm4t的个人空间 - OSCHINA - 中文开源技术交流社区...
importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax. ...
- 仿射解密c语言程序实验报告,仿射加密解密 - 依姆哣特的个人空间 - OSCHINA - 中文开源技术交流社区...
//功能:仿射加密 密钥:[3][5][9][11][15][17][19][21][23]有逆元的数 例子:pku c=7,d=3 输出 :EVN 编辑环境:vc++6.0 include in ...
- java加壳工具_加壳工具 - virbox加密空间站 - OSCHINA - 中文开源技术交流社区
Virbox Protector Standalone 加壳工具可直接对dll文件进行加壳,防止代码反编译,更安全,更方便. 产品简介 Virbox Protector Standalone提供了强大 ...
- php 随机字节集,易语言字节集动态加密 - osc_zsm40sb6的个人空间 - OSCHINA - 中文开源技术交流社区...
原理很简单: 字节集1(n位随机字节集) 字节集2(m位随机字节集) 被加密字节集=字节集1+被加密字节集+字节集2 被加密字后的字节集=加密(被加密字节集,密码) 解密后的字节集=解密(被解密字节集 ...
- 支付宝php 验签 解密,支付宝敏感信息解密 - osc_fcq4wwqo的个人空间 - OSCHINA - 中文开源技术交流社区...
/*** 敏感信息解密*/@PostMapping(value= "/decryptor", produces =MediaType.APPLICATION_JSON_UTF8_V ...
最新文章
- SQL SERVER 数据库清空语句 忽略外键 触发器 等
- 直播实录 | AlphaGo Zero是如何实现无师自通的?
- Spark SQL之DataSet
- 读《代码整洁之道》前四章浅显印象 和 我所见的不整洁代码引以为戒
- nfs服务器远程访问,NFS远程共享存储
- Python Unittest参数化parameterized之数据驱动
- Gulp和Webpack对比
- [转]vc6如何设置Unicode字符集
- ASAP光学设计软件
- 清明上河图对计算机技术的启发,走进清明上河图沉浸式数字音画项目在京发布-微软亚洲研究院.PDF...
- 如何获得WPA握手包EWSA破解WPA密码教程[zz]
- Java之HTTP长连接
- idea类和方法注释模板配置
- 常见的网上商城系统开发语言有哪些?
- 【ShaderLab学习】AlphaTest AlphaBlend理解[2]
- oracle 11 ora 12514,客户端连接oracle11出现提示ORA-12514:错误解决方法
- 变声算法实现(基频追踪+SOLA)
- 删除的微信好友可以恢复吗?不小心把微信好友删了怎么找回
- 仿小米商城网: 项目启动
- amcharts php,分享四个amCharts使用中的问题研究
热门文章
- 【nginx动静分离】
- 「首度揭秘」大规模HPC生产环境 IO 特征
- 联发科mtk手机处理器怎么样_2019年全球手机处理器市场份额新报告:高通无悬念第一,联发科第二,三星第三...
- Centos7 firewall的使用,以开放3306端口为例
- 峰度和偏度的计算方法偏度的处理
- app图标圆角角度_[转载]iOS app 图标的圆角半径是多少?
- 学习 信息资源管理第一章
- AD铺铜移动覆铜没有更新 报错设置
- matlabR2012a 永久激活文件 lic_standalone.dat 文件
- Socket的通信原理和使用