ホームページ >バックエンド開発 >PHPの問題 >PHPを暗号化してデプロイできますか?

PHPを暗号化してデプロイできますか?

(*-*)浩
(*-*)浩オリジナル
2019-09-18 11:25:094672ブラウズ

暗号化の目的

PHPを暗号化してデプロイできますか?

##暗号化はパスワードとは異なります。暗号化はアクションまたはプロセスであり、その目的は、平文情報(人間や機械が直接読み取ることができる情報)を意味のない文字に変換することであり、事前の合意を経て、意味のある読み取り可能な情報に戻す必要があります。復号化ルール 暗号化により、情報の不正な盗難を防ぐことができます。

PHP 暗号化関数 (推奨学習: PHP プログラミングの入門から習熟まで )

PHP の暗号化関数には、crypt()、md5()、およびこのうち、crypt()は一方向暗号化に使用され、いわゆる一方向暗号化とは、暗号化が必要なコンテンツを暗号化した後、暗号文を読み取り可能なコンテンツに変換することができないことを意味します。一方向暗号化の適用範囲は比較的狭く、一般にユーザー名の認証とパスワードの入力に使用されます。ユーザーがシステムに入るとき、ユーザーは暗号文のパスワードを入力するだけで済みます。システムは、保存されている暗号文と一致することを確認した後、パスワード、彼は通過できます。

md5() と sha1() はハッシュ アルゴリズムに属し、初期情報を横取りして変換すると、結果の内容がハッシュ値となり、長さが固定される非可逆アルゴリズムです。このように、たとえ情報が失われたとしても、ハッシュ値は元の情報と直接関係がないため解析する意味がなく、強力な暗号化機能を備えています。 md5() は、MD5 ハッシュ アルゴリズムを使用して、可変長メッセージを 128 ビットのメッセージ ダイジェストに変換します。

sha1() 関数は SHA-1 ハッシュ アルゴリズムを使用し、その原理は md5() と似ています。

md5() と sha1() は、情報の整合性を検証するためによく使用されます。つまり、ファイルのハッシュ値を計算してファイルが変更されているかどうかを検証するため、ハッシュするには 2 つの関数が必要です。 PHP では md5_file() と sha1_file() を使用して値を計算し、計算されたハッシュ値が元の値と異なる場合、ファイルが変更されていると判断できます。

これら 3 つの機能は操作が簡単ですが、いずれも不可逆性があり暗号文を解読することができませんが、より高度な暗号化作業では、これらの単純な暗号化機能の暗号化効果にはある程度の制限があります。

暗号化は常にセキュリティと切り離せないものであり、すべての PHPer は必要な設計アイデアとしてアプリケーション セキュリティをコードに統合する必要があります。

MD5 は使用せず、sha1 も使用しないでください。基本的にクラックするのは困難ではありません。

パスワードをハッシュするには、password_hash を使用してください (php バージョンが 5.5 以上、5.5 未満の場合は、password_compat ライブラリを使用してください)。password_hash 関数はソルティングとランダム文字列の処理に役立つためです。ソルトが暗号化されているので使用されます。アルゴリズムはハッシュの一部となり、password_verify() 関数がハッシュから自動的にソルトを抽出するため、ソルトの保存場所について心配する必要はありません。

通信インターフェースの署名は、非対称アルゴリズムを使用して署名鍵を暗号化し、鍵に有効期間を設定し、定期的に交換してください。

以上がPHPを暗号化してデプロイできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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