ホームページ >バックエンド開発 >PHPチュートリアル >Mcrypt の暗号化アルゴリズムと暗号化モードに関連する問題

Mcrypt の暗号化アルゴリズムと暗号化モードに関連する問題

WBOY
WBOYオリジナル
2016-06-13 12:59:33929ブラウズ

Mcrypt の暗号化アルゴリズムと暗号化モードに関する質問
1. PHP の暗号化と復号化を学習しています。これらの暗号化アルゴリズムと暗号化モードの原理を知りたいのですが、どのような情報を読めばよいですか?

2. これらの暗号化と復号化は何に基づいていますか?たとえば、UTF-8 テキストを 16 進数に変換して暗号化する必要があるのか​​、それとも直接バイナリに変換して暗号化するのか、あるいはその他の形式にする必要があるのでしょうか。

3. 通常、可逆暗号化では、何らかのキーを使用して平文を置き換える必要があります。
------解決策-----
1. 原則は平文 + 鍵 = 秘密暗号です。テキスト + キー = プレーン テキスト 絶対的なアルゴリズムはありません。当然、アルゴリズムの複雑さによって暗号化の長さが決まります。プログラムに応じて選択してください。ユーザーのパスワードなど、特に重要な情報については、より複雑な暗号化アルゴリズムを選択できます。
2. 各アルゴリズムには異なる暗号化ルールと復号化ルールがあります。もちろん、暗号化に使用されるアルゴリズムは統一されていません。独自の暗号化アルゴリズムを作成することもできます。
3. キーの原則:
ツールを使用して公開キーと秘密キーのペアを生成します (前回は Linux openssl コマンドを使用して直接生成しました)。
公開キーは他の人と共有できますが、秘密キーは自分用に予約されます。
他の人が公開鍵で暗号化してデータを送信した後、そのデータは秘密鍵でのみ復号化できます。公開鍵で暗号化されたデータを他の人が見た場合、そのデータは役に立ちません。
非対称暗号化: 公開鍵 a 秘密鍵 b クライアント データ c c+a=z z がサーバー z+b=c
に送信されます。 非対称の主な利点は、他の暗号化モードよりも安全であることです。主な欠点は、アルゴリズムが複雑で、暗号化速度が遅く、暗号化されたデータが大きいことです。
したがって、対称暗号化と非対称暗号化にはそれぞれ長所と短所があるため、プログラマはさまざまなニーズに応じて暗号化方式を選択する必要があります。
(すべて個人の見解・意見です。間違いがあれば専門家の方、ご指摘ください。)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。