ホームページ バックエンド開発 PHPチュートリアル 暗号化関数の作成を手伝ってください

暗号化関数の作成を手伝ってください

Jun 13, 2016 pm 01:27 PM
encryption mcrypt module

暗号化関数の作成を手伝ってください
主に URL 暗号化に使用される暗号化関数の作成を手伝ってください。
MD5 を使用したかったのですが、Base64 暗号化または urlencode エンコードを使用することを考えました。 2 つの関数は長すぎます。

暗号化関数のカスタマイズを手伝ってください。重複を避けるため、16 ビットより小さい方が良いです (笑)。

URL送信は暗号化後の数字または文字が最適です。ありがとう!

リバーシブルであることを覚えておいてください。

-----解決策---------
mcrypt

PHP コード
<?php
    /* 暗号を開きます */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* IV を作成し、キーサイズの長さを決定します。MCRYPT_RAND を使用します。
     * 代わりに Windows 上で */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* キーを作成します */
    $key = substr(md5('非常に秘密の鍵'), 0, $ks);

    /* 暗号化を初期化します */
    mcrypt_generic_init($td, $key, $iv);

    /* データを暗号化します */
    $encrypted = mcrypt_generic($td, 'これは非常に重要なデータです');

    /* 暗号化ハンドラーを終了します */
    mcrypt_generic_deinit($td);

    /* 復号化のために暗号化モジュールを初期化します */
    mcrypt_generic_init($td, $key, $iv);

    /* 暗号化された文字列を復号化します */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* 復号化ハンドルを終了し、モジュールを閉じる */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* 文字列を表示 */
    エコートリム($decrypted) 。
?><div class="clear"></div>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPでmcryptを置き換える方法 PHPでmcryptを置き換える方法 Oct 31, 2022 am 09:46 AM

mcrypt を php に置き換える方法: 1. 対応する php ファイルを開きます; 2. 元の暗号化コードと復号化コードを見つけます; 3. 「openssl_encrypt」および「openssl_decrypt」メソッドを使用して置き換えます。

ModuleNotFoundError: Python モジュールが見つからないエラーを解決するには? ModuleNotFoundError: Python モジュールが見つからないエラーを解決するには? Jun 25, 2023 pm 09:30 PM

Python の開発プロセスでは、モジュールが見つからないというエラーがよく発生します。このエラーの具体的な症状は、モジュールのインポート時に Python が ModuleNotFoundError または ImportError の 2 つのエラーのいずれかを報告することです。このエラーは非常に厄介で、プログラムが適切に実行されなくなる可能性があるため、この記事では、このエラーの原因とその解決方法を検討します。 Pyth の ModuleNotFoundError と ImportError

Java9の新機能モジュール モジュラープログラミング方式 Java9の新機能モジュール モジュラープログラミング方式 May 19, 2023 pm 01:51 PM

Java9 バージョンでは、Java 言語にモジュールという非常に重要な概念が導入されました。 JavaScript コードのモジュール管理に慣れている場合は、Java 9 のモジュール管理を見ると親しみを感じるはずです。 1. Javaモジュールとは何ですか? Java のパッケージと似ている部分ですが、モジュールは Java コードの別のレベルのグループ化を導入します。このような各グループ (モジュール) には、多くのサブパッケージが含まれています。ファイル module-info.java をモジュールのソース コード ファイル パッケージのルートに追加することにより、フォルダーとそのサブフォルダーをモジュールとして宣言します。ファイルの構文

LinuxシステムでNTFSディスクをマウントするときに「モジュールヒューズが見つかりません」という問題を解決するにはどうすればよいですか? LinuxシステムでNTFSディスクをマウントするときに「モジュールヒューズが見つかりません」という問題を解決するにはどうすればよいですか? Dec 31, 2023 pm 03:17 PM

1. まず、Linux システム カーネル [root@localhost~]#uname-r-p2.6.18-194.el5i6862 を確認し、http://sourceforge.net/projects/linux-ntfs/files/ に移動して rpm パッケージをダウンロードします。まったく同じカーネルが見つからない場合は、最も近いカーネルを見つけることができます。まったく同じものは見つかりませんでした。ダウンロードしたものは次のとおりです: kernel-module-ntfs-2.6.18-128.1.1.el5-2.1.27-0.rr.10.11.i686.rpm3. rpm パッケージ rpm をインストールします-ivhkernel -m

Python の Rake-comb 暗号化アルゴリズム: 種類とアプリケーション シナリオ Python の Rake-comb 暗号化アルゴリズム: 種類とアプリケーション シナリオ May 07, 2023 pm 09:43 PM

可逆暗号化アルゴリズム (対称暗号化) 暗号化アルゴリズムは、生データを暗号化データに変換する方法です。暗号化アルゴリズムのさまざまな特性に応じて、暗号化アルゴリズムは可逆暗号化アルゴリズムと不可逆暗号化アルゴリズムに分類できます。対称暗号化アルゴリズムとも呼ばれる可逆暗号化アルゴリズムは、暗号化プロセスと復号化プロセスに同じキーを使用します。このアルゴリズムでは、暗号化されたデータを復号化アルゴリズムによって元のデータに復元できます。このアルゴリズムは、コンピューターのハード ドライブに保存されているファイルやネットワーク経由で送信されるデータなどのデータの機密性を保護するためによく使用されます。端的に言えば、データは送信時に暗号化されますが、実際にビジネスで利用する際には平文が使われます。たとえば、AES 暗号化アルゴリズムを使用してファイルを暗号化します: fromCrypto.CipherimportAE

Vuex モジュール - ステート ウェアハウス パーティショニングの使用の概要 Vuex モジュール - ステート ウェアハウス パーティショニングの使用の概要 Aug 10, 2022 pm 04:01 PM

Vuex は主に、State、Getter、Mutation、Action、Module の 5 つの部分で構成されています。以下では、Vuex モジュールと状態ウェアハウスのセグメンテーションを紹介します。

Laravel 開発: Laravel Encryption を使用してデータを暗号化するにはどうすればよいですか? Laravel 開発: Laravel Encryption を使用してデータを暗号化するにはどうすればよいですか? Jun 15, 2023 am 08:31 AM

Laravel は優れた PHP フレームワークであり、その設計コンセプトはシンプルかつエレガントでありながら、強力な機能と使いやすい API インターフェイスを提供しており、開発者に広く歓迎されています。 Laravelフレームワークではデータの暗号化にLaravelEncryptionを使うととても便利なので、この記事ではLaravelEncryptionの基本的な使い方を紹介します。 Laravel暗号化とは何ですか? LaravelEncryption は Larave です

PythonのOSモジュールの使い方とサンプル PythonのOSモジュールの使い方とサンプル Apr 22, 2023 pm 10:19 PM

Python の os モジュールは、オペレーティング システムとの対話に使用される標準ライブラリの 1 つで、ファイルやディレクトリを操作するための便利な関数や変数が多数提供されています。一般的な OS モジュール関数の使用法を次に示します。 1. 現在の作業ディレクトリを取得します: importoscwd=os.getcwd()print(cwd) 2. 現在の作業ディレクトリを切り替えます: importosos.chdir('/path/to/new /directory' )3. ディレクトリ内のすべてのファイルとサブディレクトリをリストします: importosfiles=os.listdir('/path/to/dire

See all articles