php 自带加密函数 mcrypt_encrypt
<?php
/*** AES128加解密类* @author dy**/
class Aes{//密钥private $_secrect_key;public function __construct(){$this->_secrect_key =md5("password");}/*** 加密方法* @param string $str* @return string*/public function encrypt($str){//AES, 128 ECB模式加密数据$screct_key = $this->_secrect_key;$screct_key = base64_decode($screct_key);$str = trim($str);$str = $this->addPKCS7Padding($str);$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);$encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_ECB, $iv);return base64_encode($encrypt_str);}/*** 解密方法* @param string $str* @return string*/public function decrypt($str){//AES, 128 ECB模式加密数据$screct_key = $this->_secrect_key;$str = base64_decode($str);$screct_key = base64_decode($screct_key);$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);$encrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_ECB, $iv);$encrypt_str = trim($encrypt_str);$encrypt_str = $this->stripPKSC7Padding($encrypt_str);return $encrypt_str;}/*** 填充算法* @param string $source* @return string*/private function addPKCS7Padding($source){$source = trim($source);$block = mcrypt_get_block_size('rijndael-128', 'ecb');$pad = $block - (strlen($source) % $block);if ($pad <= $block) {$char = chr($pad);$source .= str_repeat($char, $pad);}return $source;}/*** 移去填充算法* @param string $source* @return string*/private function stripPKSC7Padding($source){$source = trim($source);$char = substr($source, -1);$num = ord($char);if($num==62)return $source;$source = substr($source,0,-$num);return $source;}
}
$c=new Aes();
echo $c->encrypt("sdsadadsa555444");
echo '<hr>';
echo $c->decrypt("dT3Fb9SfHkoOQpXeHxzJwQ==");
echo '<hr>';
php 自带加密函数 mcrypt_encrypt相关推荐
- openssl 测试加密卡_OpenSSL自带的aes_128_ecb加密函数——密文长度测试
OpenSSL自带的aes_128_ecb加密函数--密文长度测试 发表于2017年11月29日 阅读人数(3608) 近来要用到对称加密,就是使用了openssl的库给文件加密,选择的128位的分块 ...
- 零基础带你学习MySQL—加密函数和系统函数(十六)
零基础带你学习MySQL-加密函数和系统函数(十六)
- php 自带加密、解密函数
php 自带的加密函数 不可逆的加密函数为:md5().crypt() md5() 用来计算 MD5 哈稀.语法为:string md5(string str); crypt() 将字符串用 UNI ...
- php自带加密解密函数
不可逆的加密函数为:md5().crypt() md5() 用来计算 MD5 哈稀.语法为:string md5(string str); crypt() 将字符串用 UNIX 的标准加密 DES 模 ...
- php连接mySql,加密函数
连接MySQL mysql_connect(servername,username,password); 面向对象: <?php $servername = "localhost&qu ...
- Jsrpc学习——网易云热评加密函数逆向
点击上方"Python共享之家",进行关注 回复"资源"即可获赠Python学习资料 今 日 鸡 汤 烟笼寒水月笼沙,夜泊秦淮近酒家. 大家好,我是皮皮. 前几 ...
- 28 Oracle深度学习笔记——ORACLE自带DBMS函数包
28.Oracle深度学习笔记--ORACLE自带DBMS函数包 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50830889 ...
- 28.Oracle深度学习笔记——ORACLE自带DBMS函数包
28.Oracle深度学习笔记--ORACLE自带DBMS函数包 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50830889 ...
- php md5 64,php加密函数md5,crypt,base64_encode的用法介绍
介绍下php中自带的加密函数 1,不可逆的加密函数为:md5().crypt() md5() 用来计算 MD5 哈稀.语法为:string md5(string str); crypt() 将字符串用 ...
最新文章
- paoding java_中文分词器-PaodingAnalyzer
- IP Header包
- flume源码学习4-SourceRunner与ExecSource实现
- linux centos7 安装使用 惠普 hp 打印机
- Kubernetes面试题超详细总结
- getElementsByTagName
- PPT设计里的小技巧
- 团队作业(五):冲刺总结
- 1991-2020中国科技统计年鉴(EXCEL版)
- 面试题猜想:1+1等于几?
- 数据质量管理方法有哪些
- 为什么程序员工资这么高?
- Xenu检测网站死链
- (2/2) sharex录制屏幕没有声音,升级高版本的 sharex
- C语言遥控器程序,单片机学习型遥控器程序详解(完整版)
- Solidworks二次开发平台 --- RyS.SwWorks [2015-09-18更新]
- 正在学习C++的屑人麻了
- Python中使用遍历在列表中添加字典的坑
- 基于过滤器实现异常处理的探索
- 微信小程序:修改按钮BUTTON尺寸