Mcrypt 拡張ライブラリは、暗号化および復号化機能を実現できます。つまり、平文を暗号化するだけでなく、暗号文を復元することもできます。
1. PHP 暗号化拡張ライブラリ Mcrypt のインストール
標準的な PHP インストール プロセスでは Mrcypt はインストールされませんが、PHP のメイン ディレクトリには libmcrypt.dll および libmhash.dll ファイルが含まれています (libmhash.dll は Mhash 拡張ライブラリです。ここで一緒にインストールされます)。まず、これら 2 つのファイルをシステム ディレクトリ windowssystem32 にコピーし、PHP.ini ファイル内で Ctrl+F ショートカット キーを押して検索ボックスを表示し、extension=php-mcrypt.dll と extension=php_mhash.dll を見つけます。ステートメントを作成し、その前の「;」を削除して、最後に保存して Apache サーバーを再起動して有効にします。
2. PHP 暗号化拡張ライブラリ Mcrypt のアルゴリズムと暗号化モード
Mcrypt ライブラリは 20 を超える暗号化アルゴリズムと 8 つの暗号化モードをサポートしており、関数 mcrypt_list_algorithms() および mcrypt_list_modes() によって表示できます。 :
Mcrypt は次のアルゴリズムをサポートしています: cast-128 gost rijndael-128 twofish arcfour Cast-256 loki97 rijndael-192 searplus wake bullfish-compat des rijndael-256 serpent xtea bullfish enigma rc2 Triples
Mcrypt でサポートされている暗号化モードは次のとおりです: cbc cfb ctr ecb ncfb nofb ofb stream
これらのアルゴリズムとモードは、次の Mcrypt アプリケーションの例に示すように、アプリケーション内で定数で表す必要があります。
DES アルゴリズムは MCRYPT_DES で表されます。 MCRYPT_MODE_ECB による;
3. PHP 暗号化拡張ライブラリ Mcrypt アプリケーション
まず Mcrypt のワークフローを理解するために例を見てから、いくつかのプロセスで使用される関数を見てみましょう:
コードをコピーします
$mode = MCRYPT_MODE_ECB;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$)モード),MCRYPT_RAN D);
echo "元のテキスト: ".$str."
";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$mode,$iv); echo "暗号化されたコンテンツは:"。 $str_encrypt."
";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$mode,$iv);
";
実行結果:
原文:私は李雲です暗号化された内容は:B @鴹�=(私はZ%を主張します復号された内容:私は李雲です
関数 mcrypt_get_iv_size($cipher,$modes) は、初期化ベクトルのサイズを返します。パラメーター cipher と mode は、それぞれアルゴリズムと暗号化モードを参照します。
暗号化関数 $str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); この関数の 5 つのパラメータは次のとおりです: cipher—暗号化アルゴリズム、key—key 、data(str)—暗号化する必要があるデータ、mode—アルゴリズムモード、iv—初期化ベクトル
復号化関数 mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); この関数と暗号化関数のパラメータはほぼ同じです。つまり、データが異なります。データを復号化する必要があるのは、元のデータ $str ではなく、データ $str_encrypt です。
//マニュアルに書く:
コードをコピーする
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
//暗号化パスワード:
$key = "123qwe.019860905061x";
//元のコンテンツ(暗号化されていない):
$text = "My名前はアダム・リーです! ";
echo $text. "
n";
//暗号化されたコンテンツ:
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo $crypttext . "n< ;br>";
//暗号化されたコンテンツを復号化します:
$str_decrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
echo $str_decrypt;
以下は暗号化/復号化リクエストの例です:
$request_params = array(
'controller' => 'todo',
'action ' => '読み取り',
'ユーザー名' => "bl",
'ユーザーパス' => "a1"
);
$private_key = "28e336ac6c9423d946ba02d19c6a2632";
//リクエストの暗号化$enc_request =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $private_key, json_encode($request_params), MCRYPT_MODE_ECB));
echo "CRYPT:".$enc_request."
";
$params = json_decode(trim(mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $private_key,base64_decode($enc_request), MCRYPT_MODE_ECB )),true);
echo "ENCRYPT:
";
var_dump($params);
注: 暗号化関数と復号化関数のパラメータ cipher、key、mode は 1 対 1 に対応している必要があり、そうでない場合はデータを復元できません。

当Windows11任务栏溢出功能停止工作时,用户将丢失重要的自定义选项。这是因为该功能允许您将尽可能多的应用程序添加到任务栏并轻松启动它们。虽然这个问题可能令人沮丧,但并不是最难解决的。在本综合指南中,我们准备了万无一失的方法,以使任务栏溢出功能再次正常工作。为什么任务栏溢出在Windows11上不起作用?正如用户报告的那样,有几个因素可能导致任务栏溢出在Windows11上不起作用。以下是一些值得注意的原因:过时的PC:过时的操作系统是此问题的主要原因。如果您使用高于Windows11预览体

Redis作为一款开源的内存缓存数据库,在应用开发中极度广泛。其强大、高效的性能优势,使得其成为了最常用的缓存数据库之一。然而,在某些特殊场景下,由于数据量过大或安全性需要,我们需要对Redis数据进行压缩和加密处理。本文将从Redis的数据压缩和加密两方面入手,探讨Redis作为缓存数据库在实际应用中的数据压缩与加密方案。一、Redis数据压缩方案Re

在Windows11上加密文件和文件夹与WindowsBitLocker一样,EFS加密可用于加密您PC上最重要的文件。使用内置加密非常简单,而且触手可及。此外,由于EFS与您的用户帐户相关联,我们将向您展示如何将加密密钥备份到安全位置,这样您就永远不会失去对文件和文件夹的访问权限。注意:要使用EFS,您的PC必须运行Windows11专业版、企业版或教育版。EFS加密在Windows11家庭版上不可用。要加密充满文件的文件夹或单个文件,请使用以下步骤:

在其年度开发者大会上,苹果推出了下一代操作系统来为其设备套件提供支持。像往常一样,iOS17是所有主要变化的核心,具有实时语音邮件、消息转录、实时贴纸、待机模式、全屏实时活动、交互式小部件等功能。在这些新增功能中脱颖而出的功能之一是“屏幕距离”。这是一项以健康为中心的功能,专注于防止iPhone屏幕上的眼睛疲劳和近视。在这篇文章中,我们将解释什么是屏幕距离以及如何在iOS17中启用它。什么是iOS17上的屏幕距离?作为iOS17推出的新健康功能的一部分,Apple提供了屏幕距离功能,以帮助用户预

php替换mcrypt的方法:1、打开相应的php文件;2、找到原来的加密和解密代码;3、使用“openssl_encrypt”以及“openssl_decrypt”方法进行替代即可。

如果您曾经想在Windows和Android之间共享剪贴板项目,剪贴板同步就是您的朋友。使用Windows的剪贴板历史记录和Android上的Swiftkey键盘应用程序,只要两台设备都连接到同一个Microsoft帐户,您复制到剪贴板的任何项目都会出现在两台设备的剪贴板中。以下是设置方法。要在Android和Windows11之间设置剪贴板同步,您必须执行两项操作:在Windows上打开剪贴板历史记录同步并在Android上安装MicrosoftSwiftkey键盘(使用与PC上相同的Micr

很多用户在使用Everything软件的时候,不熟悉Everything怎样启用ftp服务器?接下来,小编就为各位带来了Everything启用ftp服务器的方法,让我们一起来下文看看吧。打开everything软件,进入到软件主界面,点击上方箭头所指的工具选项。在工具选项的下拉栏目中,选择箭头所指的选项栏,来进入到设置页面。进入到设置页面,在左侧的栏目中,选择箭头所指的ETP/FTP服务器选项,来进行设置。进入到ETP/FTP服务器页面,勾选箭头所指的启用ETP/FTP服务器选项,然后依次点击

iOS17自Apple在WWDC2023上首次预览以来,一直是该镇的话题。新操作系统带来了许多变化和新功能,其中包括备受期待的待机。待机是在iPhone闲置和充电时使用的好方法,可让您一目了然地查看信息,包括提醒事项、时钟、即将发生的事件、日历、天气信息等。此信息使用超大小部件显示,以便在iPhone闲置并在床头柜或工作台上充电时可以看到所有内容。因此,如果您想充分利用待机功能,那么您可以在iPhone上启用和使用它。如何在iOS17上启用待机以下是在运行iOS17的iPhone上启用待机的方法


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
