情報セキュリティの重要性が高まるにつれ、さまざまなフロントエンド暗号化がますます重要になっています。通常、データ転送のセキュリティを確保し、サーバーとのやり取り中にデータが他人に取得されたり改ざんされたりするのを防ぐために、https の適用に加えて、転送されるデータの暗号化と復号化も必要です。
現在一般的な暗号化アルゴリズムは3つのカテゴリに分けられます
2. 対称暗号化アルゴリズム 対称暗号化 (秘密鍵暗号化とも呼ばれる) とは、暗号化と復号化に同じ鍵を使用する暗号化アルゴリズムを指します。安全に通信するには、送信者と受信者がキーについて合意する必要があります。対称アルゴリズムのセキュリティはキーに依存します。キーが漏洩すると、誰でも送受信したメッセージを解読できるため、キーの機密性は通信のセキュリティにとって非常に重要です。 特徴
エーエス AES: Advanced Encryption Standard は、最も一般的な対称暗号化アルゴリズムです (WeChat ミニプログラムは、暗号化された送信にこの暗号化アルゴリズムを使用します)。 キー: プレーンテキストを暗号化するために使用されるパスワード。キーは受信者と送信者の間の交渉によって生成されますが、ネットワークを介して直接送信することはできません。そうしないと、キーが漏洩することになります。通常、キーは非対称暗号化アルゴリズムを使用して暗号化され、ネットワークを介して相手に送信されるか、直接対面してキーについて話し合われます。キーは絶対に漏洩してはなりません。漏洩すると、攻撃者が暗号文を復元してデータを盗む可能性があります。 プロジェクトでAES暗号化が必要な場合は、オープンソースのjsライブラリcrypto-jsを使用できます。
3. 非対称暗号化アルゴリズム 非対称暗号化アルゴリズムには、公開鍵 (publickey: 公開鍵と呼ばれる) と秘密鍵 (privatekey: 秘密鍵と呼ばれる) の 2 つの鍵が必要です。公開鍵と秘密鍵はペアになっています。公開鍵でデータを暗号化した場合、対応する秘密鍵でのみ復号化できます。暗号化と復号化に 2 つの異なるキーが使用されるため、このアルゴリズムは非対称暗号化アルゴリズムと呼ばれます。 特徴
RSAA の RSA 暗号化アルゴリズムは、最も一般的な非対称暗号化アルゴリズムです。 RSA は、1977 年に Ron Rivest、Adi Shamir、Leonard Adleman によって提案されました。 RSA は姓の最初の文字で構成されています。 プロジェクトでRSA暗号化が必要な場合は、オープンソースのjsライブラリjsencryptを使用できます。
4. ハッシュアルゴリズム ハッシュは、一般的に「ハッシュ」と翻訳され、「ハッシュ」と直接書き起こされることもあります。ハッシュは、ハッシュ アルゴリズムを使用して、任意の長さの入力 (プレマッピング、プレイメージとも呼ばれます) を固定長の出力に変換します。出力はハッシュ値です。この変換は圧縮マッピングです。つまり、ハッシュ値のスペースは通常、入力のスペースよりもはるかに小さく、異なる入力が同じ出力にハッシュされる可能性があり、ハッシュ値から入力値を一意に特定することは不可能です。 簡単に言えば、任意の長さのメッセージを固定長のメッセージ ダイジェストに圧縮する機能です。 特徴
MD5 MD5 は比較的一般的なハッシュ アルゴリズムです。MD5 には 2 つの重要な特徴があります。まず、ハッシュ後のプレーンテキスト データの値は固定長です。次に、ハッシュ後のプレーンテキスト データの結果は常に変更されない必要があります。前者は、2 つのプレーンテキスト ハッシュが同じ結果を生成する可能性があることを意味し、後者は、特定のデータをハッシュすると、結果が同じになる必要があることを意味します。 例えば、ログイン時にパスワードは md5 で暗号化されてサーバーに送信されます。サーバー内のパスワードも md5 で暗号化されて保存されます。この場合、暗号化された暗号文が一貫しているかどうかを確認するだけで済みます。 プロジェクトでMD5暗号化が必要な場合は、オープンソースのjsライブラリを使用できます: JavaScript-MD5
5. Base64エンコード Base64 エンコーディングは単なるエンコーディング形式であり、暗号化アルゴリズムではありません。HTTP 環境でより長い識別情報を送信するために使用できます。 特徴
現代のブラウザはBase64エンコードとデコードメソッドbtoa()とatob()を提供しています。
VI. 結論 ビジネス HTTP リクエストでは、フロントエンドで AES キーがランダムに生成され、サーバーから RSA 公開キーが取得され、AES キーが非対称暗号化され、暗号化されたキーがリクエスト ヘッダーでサーバーに渡され、本文が AES で暗号化されます。サーバーはリクエスト ヘッダー内の暗号化されたキーを受信し、それを RSA キーで復号化し、プレーンテキストの AES キーを取得して、本文を復号化できます。 md5 には文字列の一貫性を検証する機能があります。リクエストが傍受された後に本文が改ざんされるのを防ぐために、リクエストを送信するときに本文の文字列を md5 で暗号化し、リクエスト ヘッダーで送信することができます。サーバーはリクエストを受け取った後、本文を復号化し、リクエスト ヘッダーで md5 を検証して、リクエストが改ざんされていないかどうかを確認します。 |
<<: COVID-19パンデミックの影響を受けて、世界のエッジAIソフトウェア市場は急速な発展を遂げている
>>: 人工知能は今日私たちに何をもたらすのでしょうか?知らないブラックテクノロジーをチェック
[[441323]]早すぎるオールインデータ文化を一夜にして構築することはできないのと同様に、分析...
[[384554]]人工知能は、人類がより早く、より効果的に病気と闘い、より健康的な生活を送るのに役...
出典: CreditEase Technology Institute の第 1 回テクニカル サロ...
1週間前、OpenAIはユーザーに特典を配布しました。GPT-4が怠惰になる問題を修正した後、より...
[[414221]]この記事はWeChatの公開アカウント「UP Technology Contro...
序文最近、遺伝的アルゴリズムを使用していくつかのことを最適化する必要があります。当初は、最適化のため...
センサーデータは、産業オペレーションにおける運用の安全性と効率性を確保する上で重要な役割を果たします...
[[426795]]この記事はWeChatの公開アカウント「JS Daily Question」か...
ティム・アンダーソン編纂者:ヤン・ジェン制作:51CTO テクノロジースタック(WeChat ID:...