关于使用php生成加密的zip文件解决办法
关于使用php生成加密的zip文件
phpmyadmin里面有个zip.lib.php,可以生成zip文件,可是不能加密。那位大哥知道如何加密?(我说的加密是指在解压该文件的时候回要求输入解压密码)。
网上找了好多,基本上都是借用winrar或者zip通过命令行加密,有没有通过php生成加密的zip文件的?
现在怎么不能选专家了,还想请唠叨大哥看看呢。。。
------解决方案--------------------
帮顶!!!!!
------解决方案--------------------
1 现有的操作zip的php提供的函数分为两大类,一是ZipArchive 一是zip,没有发现有对文件加密码的功能.
2 最简单的方式就是用winrar或者zip通过命令行加密,这个你还不选择.
3 另外就是分析加密和未加密后的文件,通过文件读写的方式操作,这个可行性不太高,而且对实现技术要求很高.
------解决方案--------------------
似乎不能加密,加密使用其它技術實現
------解决方案--------------------
加密規則自己定議啊,最簡單的有字符轉換了,比如一個"aaaaa",加密後你想讓它變"bbbbb"。
/**
* Passport 加密函数
*
* @param string 等待加密的原字串
* @param string 私有密匙(用于解密和加密)
*
* @return string 原字串经过私有密匙加密后的结果
*/
function passport_encrypt($txt, $key)
{
// 使用随机数发生器产生 0~32000 的值并 MD5()
srand((double)microtime() * 1000000);
$encrypt_key = md5(rand(0, 32000));
// 变量初始化
$ctr = 0;
$tmp = '';
// for 循环,$i 为从 0 开始,到小于 $txt 字串长度的整数
for($i = 0; $i {
// 如果 $ctr = $encrypt_key 的长度,则 $ctr 清零
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
// $tmp 字串在末尾增加两位,其第一位内容为 $encrypt_key 的第 $ctr 位,
// 第二位内容为 $txt 的第 $i 位与 $encrypt_key 的 $ctr 位取异或。然后 $ctr = $ctr + 1
$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
}
// 返回结果,结果为 passport_key() 函数返回值的 base65 编码结果
return base64_encode(passport_key($tmp, $key));
}
/**
* Passport 解密函数
*
* @param string 加密后的字串
* @param string 私有密匙(用于解密和加密)
*
* @return string 字串经过私有密匙解密后的结果
*/
function passport_decrypt($txt, $key)
{
// $txt 的结果为加密后的字串经过 base64 解码,然后与私有密匙一起,
// 经过 passport_key() 函数处理后的返回值
$txt = passport_key(base64_decode($txt), $key);
// 变量初始化
$tmp = '';
// for 循环,$i 为从 0 开始,到小于 $txt 字串长度的整数
for ($i = 0; $i {
// $tmp 字串在末尾增加一位,其内容为 $txt 的第 $i 位,
// 与 $txt 的第 $i + 1 位取异或。然后 $i = $i + 1
$tmp .= $txt[$i] ^ $txt[++$i];
}
// 返回 $tmp 的值作为结果
return $tmp;
}
/**
* Passport 密匙处理函数
*
* @param string 待加密或待解密的字串
* @param string 私有密匙(用于解密和加密)
*
* @return string 处理后的密匙
*/
function passport_key($txt, $encrypt_key)
{
// 将 $encrypt_key 赋为 $encrypt_key 经 md5() 后的值
$encrypt_key = md5($encrypt_key);
// 变量初始化
$ctr = 0;
$tmp = '';
// for 循环,$i 为从 0 开始,到小于 $txt 字串长度的整数
for($i = 0; $i {
// 如果 $ctr = $encrypt_key 的长度,则 $ctr 清零
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
// $tmp 字串在末尾增加一位,其内容为 $txt 的第 $i 位,
// 与 $encrypt_key 的第 $ctr + 1 位取异或。然后 $ctr = $ctr + 1
$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
}
// 返回 $tmp 的值作为结果
return $tmp;
}
/**
* Passport 信息(数组)编码函数
*
* @param array 待编码的数组
*
* @return string 数组经编码后的字串

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









IntelTXT は、Intel が開発したハードウェア支援セキュリティ テクノロジであり、CPU と BIOS の間に保護されたスペースを確立することで、起動中のサーバーの整合性とセキュリティを確保できます。 TXT の正式名は TrustedExecutionTechnology、つまり Trusted Execution Technology です。簡単に言うと、TXT は、サーバーの起動時に悪意のあるプログラムや不正なソフトウェアによってサーバーが変更されていないことを保証するハードウェア レベルの保護を提供するセキュリティ テクノロジです。これです

html を txt に変換する方法には、テキスト エディターの使用、オンライン変換ツールの使用、Python プログラミングの使用などがあります。詳細な紹介: 1. HTML ファイルを開くには、メモ帳、Sublime Text などのテキスト エディタを使用できます。HTML ファイル全体のコンテンツを選択するには、Ctrl+A ショートカット キーを押すか、マウスをドラッグします。コンテンツをコピーするには、Ctrl+C ショートカットを押すか、右クリック メニューのコピー オプションを使用するか、新しい TXT ファイルを開くか、同じテキスト エディタを使用するなどします。

SQL における Identity とは何ですか? 具体的なコード例が必要です。SQL では、Identity は自動インクリメント数値の生成に使用される特別なデータ型です。多くの場合、テーブル内のデータの各行を一意に識別するために使用されます。 Identity 列は、各レコードが一意の識別子を持つようにするために、主キー列と組み合わせてよく使用されます。この記事では、Identity の使用方法といくつかの実用的なコード例について詳しく説明します。 Identity の基本的な使用方法は、テーブルを作成するときに Identity を使用することです。

1. 機能の概要 キースペース通知を使用すると、クライアントはチャネルまたはパターンをサブスクライブすることで、何らかの方法で Rediskey の変更を変更するイベントを受信できます。キーのキーを変更するすべてのコマンド。 LPUSHkeyvalue[value…] コマンドを受信したすべてのキー。 db データベース内の期限切れのキーすべて。イベントは Redis のサブスクリプションおよび公開機能 (pub/sub) を通じて配布されるため、サブスクリプションおよび公開機能をサポートするすべてのクライアントは、変更を加えることなくキースペース通知機能を直接使用できます。 Redis の現在のサブスクリプション機能と公開機能は fireandforget 戦略を採用しているため、プログラムが

chm は、オンライン変換ツール、ブラウザ プラグイン、コマンド ライン ツール、サードパーティ ソフトウェアを使用して txt に変換されます。詳細な紹介: 1. オンライン変換ツールを使用し、CHM ファイルをアップロードし、TXT 形式を選択して、変換された TXT ファイルをダウンロードします; 2. ブラウザ プラグインを使用し、プラグインをインストールした後、CHM を開くだけですブラウザでファイルを開き、プラグイン ボタンをクリックして CHM ファイルを TXT 形式に変換します; 3. コマンド ライン ツールなどを使用します。

発生した問題: 開発プロセス中に、login_logID (ID は変数) など、特定のルールに従ってバッチで削除する必要があるキーが発生します。ここで、「login_log*」などのデータを削除する必要がありますが、redis 自体はバッチクエリのみあり、クラスキー値に対するコマンドキーはありますが、特定のクラスを一括削除するコマンドはありません。解決策: 最初にクエリを実行してから削除し、xargs を使用してパラメータを渡します (xargs はパイプまたは標準入力 (stdin) データをコマンド ライン パラメータに変換できます)。最初にクエリ ステートメントを実行してから、クエリされたキー値と元の del パラメータを削除します。消去。 redis-cliKEYSkey* (検索条件)|xargsr

パッチ不可能な Yubico の 2 要素認証キーの脆弱性により、ほとんどの Yubikey 5、セキュリティ キー、および YubiHSM 2FA デバイスのセキュリティが破られています。 Feitian A22 JavaCard および Infineon SLB96xx シリーズ TPM を使用するその他のデバイスも脆弱です。すべて

Pandas は Python 用のデータ分析ツールであり、データのクリーニング、処理、分析に特に適しています。データ分析プロセスでは、Txt ファイルなどのさまざまな形式のデータ ファイルを読み取る必要があることがよくあります。ただし、特定の操作中にいくつかの問題が発生する場合があります。この記事では、pandas での txt ファイルの読み取りに関するよくある質問への回答と、対応するコード例を紹介します。質問 1: txt ファイルを読み取るにはどうすればよいですか? txt ファイルは、pandas の read_csv() 関数を使用して読み取ることができます。それの訳は
