Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Php文件加密方法。有简单的东西存在吗?

Php文件加密方法。有简单的东西存在吗?
EN

Stack Overflow用户
提问于 2009-04-29 22:56:55
回答 4查看 8.2K关注 0票数 7

在php中加密文件似乎没有任何令人愉快的方法。

内建的php方法mcrypt并不是很可移植,因为大多数服务器都不支持它们。

命令行加密工具就像丑陋的黑客。

字符串是加密的,这很好,但是如果我们想加密一个文件,这对其他人来说没有多大帮助,尤其是对其他人来说。

其他加密工具需要公钥,密钥环,私钥,血样.这些看起来太复杂了,不能只加密一个文件。

看来,我们应该为PHP提供一个简单的函数,其工作方式如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$crypt = new Crypt();
$crypt->encryptFile("Password1245!", 'secret_file.txt', 'encrypted_file.txt');
$crypt->decryptFile("Password1245!", 'encrypted_file.txt', 'original_file.txt');

有人有什么想法吗?我要拔头发了!

编辑:我应该添加另一件事,以便最终用户能够轻松地解密文件。

--基本上,我正在寻找可以替换密码保护的压缩文件的东西

EN

回答 4

Stack Overflow用户

发布于 2009-04-29 23:02:40

看一看PEAR加密包。他们并不都依赖于mcrypt --比如河豚

票数 6
EN

Stack Overflow用户

发布于 2009-04-29 23:16:29

如果您不介意安装mcrypt扩展名,下面的代码应该这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function Encrypt($string, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        return base64_encode(mcrypt_encrypt(MCRYPT_BLOWFISH, substr($key, 0, mcrypt_get_key_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB)), trim($string), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND)));
    }

    return false;
}

function Decrypt($string, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        return trim(mcrypt_decrypt(MCRYPT_BLOWFISH, substr($key, 0, mcrypt_get_key_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB)), base64_decode($string), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB), MCRYPT_RAND)));
    }

    return false;
}

function Encrypt_File($source, $destination, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        if (is_file($source) === true)
        {
            $source = file_get_contents($source);

            if (file_put_contents($destination, Encrypt($source, $key), LOCK_EX) !== false)
            {
                return true;
            }
        }
    }

    return false;
}

function Decrypt_File($source, $destination, $key)
{
    if (extension_loaded('mcrypt') === true)
    {
        if (is_file($source) === true)
        {
            $source = file_get_contents($source);

            if (file_put_contents($destination, Decrypt($source, $key), LOCK_EX) !== false)
            {
                return true;
            }
        }
    }

    return false;
}
票数 2
EN

Stack Overflow用户

发布于 2009-04-29 23:21:04

简单的xor呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function Crypt($source, $key)
{
 $rv='';
 for($i=0;$i<strlen($source);$i++)
 {
  $rv.=chr(ord($source[$i]) ^ ord($key[$i%strlen($key)]));
 }
 return $rv;
}

=>密码( 'aaa‘,’key‘,'key')返回’aaa‘。

编辑:当然,您应该使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
file_put_contents(Crypt(file_get_contents('file'), 'key'));

用于文件read+write :]

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/805686

复制
相关文章
php生成excel文件的简单方法
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。
逍遥子大表哥
2021/12/17
7580
最简单的php导出excel文件方法
网上有很多php操作excel或其他文件的类库,也做的很完善。比如无比风骚的PHPExcel,官方网站:http://www.codeplex.com/PHPExcel ,pear的Spreadsheet_Excel_Writer类等。然而我们只是用到其中一部分功能,这就会让程序显的有些臃肿。在你调用这些类库的时候,不管你是多简单的操作,他都会消耗巨大的内存,这对我们来说是很不可取的。     比如我需要一个做php导出 excel的的程序,只需要把相关的数据导出到excel表就可以了,这么简单的操作就不需
joshua317
2018/04/10
5.3K0
文件加密的方法有哪些?各自有什么优势?
企业办公传输文件较多,为了使商业资料更加安全,会使用文件加密的方式进行传输,这样能够保证文件的内容以防盗取,根据很多数据显示,现在企业非常重视文件传输安全,那文件加密的方法有哪些?各自有什么优势?
用户8715145
2021/07/09
7860
PHP实现的简单对称加密与解密方法实例小结
本文实例讲述了PHP实现的简单对称加密与解密方法。分享给大家供大家参考,具体如下: 方法一:YII自带的加密方法
用户2323866
2021/07/02
9750
#加密#如何利用PHP代码生成混淆加密PHP文件
首先,新建一个 index.php,然后把代码复制进去,修改代码中你要加密的文件名,并把要加密的文件放在同一目录下。接着,访问 index.php,然后就会自动生成加密后的文件在 index.php 的同一目录下
超级小可爱
2023/02/20
5K0
#加密#如何利用PHP代码生成混淆加密PHP文件
虽说分享是传统的美德,但我们有时候辛辛苦苦写一些程序只是为了卖点小钱,挣点辛苦费,也防止有些没有道德的人倒卖,所以我们不得不对我们的程序进行加密 使用方法 首先,新建一个 index.php,然后把代
小俊是我
2018/06/26
3.9K0
PHP 基于 Mcrypt 的加密解密简单类
最近的一个项目项目中需要对 Cookie 加密,所以使用到了 Mcrypt 的方法进行加密解密的工作,于是我就整理成一个简单的类,以后直接简单调用类实现即可。
Denis
2023/04/15
5720
Javascript到PHP加密通讯的简单实现
互联网上大多数网站,用户的数据都是以明文形式直接提交到后端CGI,服务器之间的访问也大都是明文传输,这样可被一些别有用心之人通过一些手段监听到。对安全性要求较高的网站,比如银行和大型企业等都会使用HTTPS对通讯过程进行加密等处理。
Java架构师必看
2021/03/22
2.4K0
最安全的PHP密码加密方法
常用的MD5、SHA1、SHA256哈希算法,是面向快速、高效进行哈希处理而设计的。随着技术进步和计算机硬件的提升,如今强大的计算机很容易破解这种算法。也就是说,不要用MD5、SHA1、SHA256这种哈希方法加密密码了,不太安全。 还好,PHP内置了密码哈希函数password_hash,使用这个方法,PHP会升级底层的算法,达到如今的安全标准水平。
骤雨重山
2022/01/17
4K0
PHP 简单的文件kv cache
之前做一个小东西的时候随手写了下面这样的一个cache函数 [11.5增补]后来加了直接存储而不序列化的参数,之后这个函数就凌乱了,而且糅合读写在一个函数代码可读性也不好,得数参数才知道是读是写,用来存放一些小的信息,可以省掉数据库,kv方式,git风格文件存储,简单序列化变量数据写入文件。
horsley
2022/08/16
6740
6种php加密解密方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166656.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/19
1.6K0
简单易用的东西 原
查询ott的索引文档的中的内容 curl -XPOST 'localhost:9200/ott/_search?pretty' -d ' {   "query": { "match_all": {
双面人
2019/04/10
3780
Abaqus的inp文件加密方法介绍
在某些情况下,在Abaqus inp文件中存在一些数据,这些数据涉及机密内容,非授权用户不被允许查看该类内容。远算云具备国家信息安全等级保护三级认证,是除金融行业外最高信息安全等级
开物小编
2021/04/25
2K0
zip文件加密的几种破解方法
ZipCenOp.jar 链接: https://pan.baidu.com/s/1e0Ni2OjxmYEdOY7gGbv6gg 提取码: 29qi
全栈程序员站长
2022/09/05
29.9K1
最好的文件夹加密软件有哪些?
我所说的这些,VeraCrypt 全部具备,并且它还支持多平台( macOS、Windows 和 Linux)。
wuweixiang
2020/03/05
5.2K0
最好的文件夹加密软件有哪些?
PHP实现的简单sha1加密功能示例
/【当下浏览的服务器和开发工具是哪些】/本文实例讲述了PHP实现的sha1加密功能。分享给大家供大家参考,具体如下:
用户2323866
2021/07/02
6680
点击加载更多

相似问题

这样的加密/密码方法存在吗?

13

寻找简单的PHP多路加密方法

30

有什么简单的方法来验证HABTM关系的存在吗?

21

PHP中的简单加密

30

简单加密-循环有问题

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文