php怎样加密文件,如何使用php加密大文件并通过命令行解密?
我正在用
PHP编写一个小脚本来备份我的文件.在我从服务器传输文件之前,我想加密它们.
我在我的脚本的早期版本中通过在我的Linux服务器上使用exec()和OpenSSL来做到这一点.现在我正在寻找一个本机PHP函数来完成这项工作,主要是为了更好的错误处理.
问题是我的文件可能变大(如20gb).此外,我必须在shell上使用命令再次解密文件.
有谁知道如何加密PHP中的大文件,然后在命令行解密?
我现在正在使用PHP的mcrypt函数来加密:
// IV:
$iv = mcrypt_create_iv($ivSize,MCRYPT_RAND);
// Create new random Key:
$key = openssl_random_pseudo_bytes(32);
// Encrypt:
$fileStream = fopen($file,"r");
$encFileStream = fopen($file . ".enc.data","w");
$opts = [
'iv' => $iv,'key' => $key,'mode' => 'cbc'
];
stream_filter_append($encFileStream,'mcrypt.rijndael-256',STREAM_FILTER_WRITE,$opts);
stream_copy_to_stream($fileStream,$encFileStream);
fclose($fileStream);
fclose($encFileStream);
// Encrypt random generated key and save it:
$encryptedKey = null;
openssl_public_encrypt($key,$encryptedKey,$publickey);
file_put_contents($file . ".enc.key",$encryptedKey);
// Save Initial Vetor:
file_put_contents($file . ".enc.iv",$iv);
// Delete unencrypted file:
unlink($file);
现在要在linux命令行上解密我也尝试使用mcrypt.但我遇到的最大问题是我不知道如何将IV添加到mdecrypt.到目前为止,我的命令是:
mdecrypt --decrypt -m CBC -f key.key archive_hallo.tar.gz.enc.data
这当然不起作用,因为缺少IV.那么,有没有人知道如何将IV添加到我的mdecrypt命令中?
php怎样加密文件,如何使用php加密大文件并通过命令行解密?相关推荐
- php webuploader大文件,web uploader 上传大文件总结
由于业务需要,需要上传大文件,已有的版本无法处理IE版本,经过调研,百度的 webuploader 支持 IE 浏览器,而且支持计算MD5值,进而可以实现秒传的功能. 大文件上传主要分为三部分,预上传 ...
- php如何导入大文件数据库,PHP读取CSV大文件导入数据库的示例
文章详细介绍了csv文件在php中快速导入到mysql数据库中的例子,虽然从最简单的几百MB的到最后使用插件实现几个GB数据导入中间有一些嗑碰了,但结果还是好的. 对于数百万条数据量的CSV文件,文件 ...
- linux大文件拷贝,Linux如何提高大文件的拷贝效率
Linux系统操作中,当你在进行机器直接的拷贝时,遇到大文件的时候非常浪费时间,特别是将文件同时拷贝到多台机器上的时候,那么有什么好的方法能够提高大文件的拷贝效率呢?一起来学习下吧. 你可以从源机器逐 ...
- python读取大文件-强悍的Python读取大文件的解决方案
Python 环境下文件的读取问题,请参见拙文 Python基础之文件读取的讲解 这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适 ...
- python读取大文件-python快速读取一个大文件内容(瞎猜)
问题: python有没有一种方法是比简单的readlines()方法更快的方式去读取单个文件,比如,一个从头读文件,一个从尾部读文件,再或者预先将一个文件的行索引分成几个部分来读(文件行内容的操作顺 ...
- java 大文件 md5_使用Java为大文件生成MD5非常慢
我用nio重写你的代码,代码有点像下面: private static String generateMD5(FileInputStream inputStream){ if(inputStream= ...
- python读取大文件的坑_python读取大文件踩过的坑——读取txt文件词向量
在读取https://github.com/Embedding/Chinese-Word-Vectors中的中文词向量时,选择了一个有3G多的txt文件,之前在做词向量时用的是word2vec,所以直 ...
- 华为云服务器 大文件,云服务器上传大文件
云服务器上传大文件 内容精选 换一换 本节操作介绍本地MacOS系统主机通过安装"Microsoft Remote Desktop for Mac"工具向Windows云服务器传输 ...
- php curl 传输大文件,空白目录 · php下载大文件curl · 看云
假设一个场景: 当用户需要通过我们提供的下载服务,来下载一个较大的文件(200M-2G)时,我们服务端应该如何来满足这个服务呢? 且当我们的服务端是采用nginx+php的架构时,该如何解决呢. 作为 ...
最新文章
- 不止摩尔定律,计算领域值得学习的定律还有哪些?
- 变更管理、信息系统安全管理、项目风险管理
- Spring扫描类过程解析和案例
- php远程连接403,php中出现“ HTTP 异常 403 - 禁止访问”解决方法 总结
- MongoDB的RestAPI微服务组件--Mongo-Rest介绍
- quartz框架_定时任务调度框架Quartz
- 关于Andrdoid编程中出现BufferQueue的“queueBuffer: fence is NULL”的一种解决方案
- 《Java线程与并发编程实践》—— 1.2 操作更高级的线程任务
- excel打开超链接不使用浏览器,使用默认图片浏览软件
- 在html中做框架的页面,网页中的框架(详解)
- mumu模拟器Android版本才6,MuMu模拟器官方下载
- 如何快速开发一款APP
- WEB-QTP随想录—李密的猜想
- ICQ官方中文版 v10.0.12161.0
- 对《A Fast Parallel Algorithm for Thinning Digital Patterns》一文的理解(上)
- 润乾报表CookBook与使用
- vue 使用vue-canvas-poster生成自定义海报
- 客户端评论盖楼(内涵段子评论盖楼)实现思路
- 重构:改善既有代码的设计_技术债务:通过重构来拯救传统代码
- 学软件开发为什么要选 “猿代码任务制培训模式”?