php如何加密图片,php实现图片加密解密,支持设置密码 (两年后版本!)
* by hello
* 84587470
*
* php 文件加密类,支持设置密码,图片,文件都可以!情侣们的福音!!!
**/
$from = 'C:\Users\Administrator\Desktop\t\test.png';$to = 'C:\Users\Administrator\Desktop\t\\';//加密
encrpty::en($from , $to , 'xxxx');//解密
encrpty::de('C:\Users\Administrator\Desktop\t\00f8fbb037778e31455211b4bdcb0874' , $to , 'xxxx');classencrpty
{const DS =DIRECTORY_SEPARATOR;const FILE = 1;const DIRECTORY = 2;const ALL = 3;/**
* 文件加密
*
* @param $from 源
* @param $to 保存位置
* @param string $slat 密码
*
* @return array*/
public static function en($from , $to , $slat = 'xxx')
{$data =['sign' => 1 ,
'msg' => '' ,];try{$imgObj = new \SplFileInfo($from);$stram = implode('' ,['@@_____' ,
$slat ,
'@@_____' ,
$imgObj->getBasename() ,
'@@_____' ,]). (file_get_contents($imgObj->getRealPath()));$stram = gzcompress($stram);file_put_contents(static::replaceToSysSeparator($to) . md5($imgObj->getRealPath()) , ($stram));
}catch (\Exception $exception)
{$data['sign'] = 0;$data['data'] = $exception->getMessage();
}return $data;
}/**
* 解密
*
* @param $from 源
* @param $to 保存位置
* @param string $slat 密码
*
* @return array*/
public static function de($from , $to , $slat = 'xxx')
{$data =['sign' => 1 ,
'msg' => '' ,];try{$imgObj = new \SplFileInfo($from);$stram = file_get_contents($imgObj->getRealPath());$stram = gzuncompress($stram);$reg = implode('' ,['#' ,
'^@@_____' ,
preg_quote($slat , '#') ,
'@@_____' ,
'(.*?)' ,
'@@_____' ,
'#i' ,]);preg_match($reg , $stram , $res);if(isset($res[1]))
{
self::mkdir_($to);$result = preg_replace($reg , '' , $stram);file_put_contents(static::endDS($to) . $res[1] , $result);
}else{$data['sign'] = 0;$data['data'] = '解密出错';
}
}catch (\Exception $exception)
{$data['sign'] = 0;$data['data'] = $exception->getMessage();
}return $data;
}/**
* 自动为路径后面加DIRECTORY_SEPARATORY
*
* @param string $path 文件夹路径
*
* @return string*/
public static function endDS($path)
{return rtrim(rtrim(static::replaceToSysSeparator($path) , '/') , '\\') . static::DS;
}/**
* @param $path
*
* @return string*/
public static function replaceToSysSeparator($path)
{return strtr($path ,['\\' => static::DS ,
'/' => static::DS ,]);
}/**
* @param $path
*
* @return string*/
public static function replaceToUrlSeparator($path)
{return strtr($path ,['\\' => '/' ,]);
}/**
* 格式化字节大小
*
* @param number $size 字节数
* @param string |int $de
*
* @return string 格式化后的带单位的大小*/
public static function byteFormat($size , $de = 2)
{$a = array("B" ,
"KB" ,
"MB" ,
"GB" ,
"TB" ,
"PB" ,);$pos = 0;while ($size >= 1024)
{$size /= 1024;$pos++;
}return round($size , $de) . " " . $a[$pos];
}/**
* 创建文件夹
*
* @param $path
* @param int $mode
*
* @return bool*/
public static function mkdir_($path , $mode = 0777)
{return !is_dir(($path)) ? mkdir(($path) , $mode , 1) : @chmod($path , $mode);
}/**
* 列出文件夹里文件信息
*
* @param $path
* @param callable|null $callback
* @param int $flag
*
* @return array*/
public static function listDir($path , callable $callback = null , $flag = self::ALL)
{$files =[];if(is_dir($path) && is_readable($path))
{try{$directory = new \FilesystemIterator ($path);$filter = new \CallbackFilterIterator ($directory , function($current , $key , $iterator) use ($flag) {switch ($flag)
{case static::FILE:
return $current->isFile();case static::DIRECTORY:
return $current->isDir();default:
return true;
}
});foreach ($filter as $info)
{if(is_callable($callback))
{$files[] = call_user_func_array($callback ,[$info ,]);
}else{$files[] = $info;
}
}
}catch (\Exception $e)
{$files =[];
}
}return $files;
}
}
php如何加密图片,php实现图片加密解密,支持设置密码 (两年后版本!)相关推荐
- windows环境实现批量加密文件,并创建加密文件同名(不带后缀)的文件夹,然后把加密文件和图片和文本放入这个文件夹。
1. 需求 我想把资源文件先加密成压缩文件,然后同时创建每个加密压缩文件同名的文件夹,同时需要把这个加密文件拷贝到这个同名的文件夹,然后还需要把一个图片和一个文本文档同时放进这个文件夹,然后在不加密压 ...
- 关于图片转base64的加密解密
这个插件裁剪完的图片都是 base64 加密的字符串,上传头像也就涉及到了如何把加密的字符串转换成图片的问题. 以下是代码: /*** @Description: 将base64编码字符串转换为图片* ...
- 图片加密(一)颜色加密
图片加密(一)颜色加密 前置内容:图片的储存方式 图片是由一个个像素点组成的.对于有色图片来说,每一个像素点的颜色可以由红绿蓝三种颜色合成,也就是可能听说过的RGB. 在计算机中,用0~255来表示这 ...
- ***实战:教你轻松查看QQ空间加密后的好友图片
***实战:教你轻松查看QQ空间加密后的好友图片 S.S.F Simeon 最近听说某情侣将自己的生活照片上传至QQ空间,且进行了加密,却不料被好事者在网上公布,引起哄然大波,由于这些照片中有一些是两 ...
- 用JS实现:图片压缩、图片加密
本文将用JavaScript实现两个颇有技术含量的功能:图片压缩.图片加密. 最终效果:可实现将任意图片加密.压缩,并保存到一个独立的html页面中,输入正确的密码,才能看到原图. 第一步.压缩图片 ...
- C#实现基于Logistic映射混沌加密算法(可加密静态图片和动态图片)
这是本菜鸡在<信息隐藏>中实现的图像加密,选用的是logistics混沌加密算法,希望对你的课设或项目有所帮助 文章目录 基于Logistic映射混沌加密算法 逻辑斯蒂(Logistic) ...
- 8tupian图片加密平台v2.7 对图片进行加密的网络平台+包含三种模式上传图片+可二次开发修改
8tupian图片加密平台v2.7 对图片进行加密的网络平台+包含三种模式上传图片+可二次开发修改 8tupian图片加密平台采用 php+mysql 的环境,php 版本是 php5.6. 源码是通 ...
- 【Java】如何根据图片的网络url,下载图片,并base64加密
一.问题 1.1.环境 电脑环境:Windows 10: 开发工具:IntelliJ IDEA: JDK环境: Jdk1.8: 1.2.问题 我们在开发过程中,会进场要将网络上的图片资源,下载下来,经 ...
- mysql 图片base64_关于图片的Base64编码
什么是Base64编码 Base64编码是一种图片处理格式,通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的url属性. base64编码就是长得像下面这样子的代 ...
最新文章
- 应用进退法确定一维搜索区间_NMR-如何确定官能团含量(MestReC)
- android获取string.xml的值(转)
- jQuery和AngularJS的区别小分析
- 1103 Integer Factorization (30 分)【难度: 中 / 爆搜】
- [OS复习]虚拟存储管理技术 1
- 0429《与孩子一起学编程》读书笔记1
- mysql数据库实现修改密码代码_MySQL数据库的更改密码(附源代码)
- Redhat 7搭建iscsi存储系统
- 329例精选matlab算法原理及源码详解——老生谈算法
- 反编译android sdk,反编译apk,修改sdk文件,重新签名
- 蜂鸣器c语言相关程序,蜂鸣器c语言程序.doc
- dell服务器开机进系统黑屏,dell电脑开机黑屏,教你几步解决_故障
- Android微信登录引起的内存泄漏
- 解决VirtualBox虚拟电脑控制台严重错误
- 重定向和转发的区别+使用情景
- springboot多module依赖
- 《LKD3粗读笔记》(6)内核数据结构
- P1983 [NOIP2013 普及组] 车站分级——拓扑排序+dp
- windows下批处理删除文件夹、删除文件、if exist用法
- 2020-7-28 ------2021-2-2 年度总结
热门文章
- Redis数据类型--散列类型
- 求一个数的阶乘值c语言代码,求10000的阶乘(c语言代码实现)
- C语言 全局变量和局部变量区别 - C语言零基础入门教程
- Python实现AES加密进行PKCS5Padding的填充
- java jdom 设置第1行_Java通过jdom操作生成XML文件的实例代码下载
- C语言调试技巧:stdin,stdout,stderr
- 有人不会使用计算机的反义,现代汉语练习题及答案
- python换源还是不行_浅析Python3 pip换源问题
- 单片机c语言 外部中断,单片机C语言代码:外部中断,按下中断按键LED不亮,LED1正常亮...
- 竞赛数据清洗缺失值_Kaggle 数据清洗挑战 Day 1 - 手把手教你五步处理缺失值