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 - 中文开源技术交流社区...相关推荐

  1. java教程菜鸟要飞_php7新特性 - 菜鸟要飞啊的IT小窝 - OSCHINA - 中文开源技术交流社区...

    虽然PHP已经出来很久了,连PHP8都出来了,但还是想写一下,记录一下PHP7,目前就想到这么多 常用新特性 1.?? 和 ?: 主要区别:??判断前者是否存在,?:判断前者是否为真 $a = 'aa ...

  2. 去静态化 php,PHP页面静态化 - 菜鸟要飞啊的IT小窝 - OSCHINA - 中文开源技术交流社区...

    静态网页是服务器上面真实存在的页面,它不需要编译,用户就可以直接访问这样的网页,后缀一般为.html或者是.htm.如果我们把这个网页上传到我们的服务器或者是空间,那么它就可以通过直接访问我们的域名去 ...

  3. 每天学习java一小时_java再学感受 - 编程一小时的个人空间 - OSCHINA - 中文开源技术交流社区...

    首先的是,我买了一本新的有关于java的书,刚开始看,其实在此之前我已经学了一本java语法的书本,现在我买的这本书是我用来提升自己的java认知水平的,首先是对这本书的第一印象吧,里面的内容比较详细 ...

  4. python sqlite3加密_sqlite3加密 - kjpioo的个人空间 - OSCHINA - 中文开源技术交流社区...

    SQLite 3 开源版不带加密功能,对于一个保存在本地的数据库来说没有加密功能让人难以接受,只要用记事本打开数据库就可以看到数据库内保存的数据,对安全多多少少有一点影响.有一个办法是把内容加密后保存 ...

  5. des vue 双倍长 解密_3DES双倍长加密 - osc_ojx9hm4t的个人空间 - OSCHINA - 中文开源技术交流社区...

    importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax. ...

  6. 仿射解密c语言程序实验报告,仿射加密解密 - 依姆哣特的个人空间 - OSCHINA - 中文开源技术交流社区...

    //功能:仿射加密 密钥:[3][5][9][11][15][17][19][21][23]有逆元的数 例子:pku  c=7,d=3  输出 :EVN 编辑环境:vc++6.0 include in ...

  7. java加壳工具_加壳工具 - virbox加密空间站 - OSCHINA - 中文开源技术交流社区

    Virbox Protector Standalone 加壳工具可直接对dll文件进行加壳,防止代码反编译,更安全,更方便. 产品简介 Virbox Protector Standalone提供了强大 ...

  8. php 随机字节集,易语言字节集动态加密 - osc_zsm40sb6的个人空间 - OSCHINA - 中文开源技术交流社区...

    原理很简单: 字节集1(n位随机字节集) 字节集2(m位随机字节集) 被加密字节集=字节集1+被加密字节集+字节集2 被加密字后的字节集=加密(被加密字节集,密码) 解密后的字节集=解密(被解密字节集 ...

  9. 支付宝php 验签 解密,支付宝敏感信息解密 - osc_fcq4wwqo的个人空间 - OSCHINA - 中文开源技术交流社区...

    /*** 敏感信息解密*/@PostMapping(value= "/decryptor", produces =MediaType.APPLICATION_JSON_UTF8_V ...

最新文章

  1. SQL SERVER 数据库清空语句 忽略外键 触发器 等
  2. 直播实录 | AlphaGo Zero是如何实现无师自通的?
  3. Spark SQL之DataSet
  4. 读《代码整洁之道》前四章浅显印象 和 我所见的不整洁代码引以为戒
  5. nfs服务器远程访问,NFS远程共享存储
  6. Python Unittest参数化parameterized之数据驱动
  7. Gulp和Webpack对比
  8. [转]vc6如何设置Unicode字符集
  9. ASAP光学设计软件
  10. 清明上河图对计算机技术的启发,走进清明上河图沉浸式数字音画项目在京发布-微软亚洲研究院.PDF...
  11. 如何获得WPA握手包EWSA破解WPA密码教程[zz]
  12. Java之HTTP长连接
  13. idea类和方法注释模板配置
  14. 常见的网上商城系统开发语言有哪些?
  15. 【ShaderLab学习】AlphaTest AlphaBlend理解[2]
  16. oracle 11 ora 12514,客户端连接oracle11出现提示ORA-12514:错误解决方法
  17. 变声算法实现(基频追踪+SOLA)
  18. 删除的微信好友可以恢复吗?不小心把微信好友删了怎么找回
  19. 仿小米商城网: 项目启动
  20. amcharts php,分享四个amCharts使用中的问题研究

热门文章

  1. 【nginx动静分离】
  2. 「首度揭秘」大规模HPC生产环境 IO 特征
  3. 联发科mtk手机处理器怎么样_2019年全球手机处理器市场份额新报告:高通无悬念第一,联发科第二,三星第三...
  4. Centos7 firewall的使用,以开放3306端口为例
  5. 峰度和偏度的计算方法偏度的处理
  6. app图标圆角角度_[转载]iOS app 图标的圆角半径是多少?
  7. 学习 信息资源管理第一章
  8. AD铺铜移动覆铜没有更新 报错设置
  9. matlabR2012a 永久激活文件 lic_standalone.dat 文件
  10. Socket的通信原理和使用