ホームページ よくある問題 md5暗号化アルゴリズム

md5暗号化アルゴリズム

Sep 02, 2019 am 09:18 AM
md5

MD5 アルゴリズムとは

MD5 メッセージ ダイジェスト アルゴリズム (英語: MD5 Message-Digest Algorithm)。128 ビットのハッシュを生成できる、広く使用されている暗号化ハッシュ関数です。 16 バイトの値 (ハッシュ値) は、情報送信が完全かつ一貫していることを保証するために使用されます。

md5暗号化アルゴリズム

MD5 関数 (推奨学習: Web フロントエンド ビデオ チュートリアル)

任意の長さの情報を入力し、処理後の出力は 128 ビット情報 (デジタル指紋);

入力が異なると結果も異なります (一意性);

MD5 は暗号アルゴリズムに属さない

# 属さないと考える人は、暗号文 (ハッシュ値) から原文を取得できない、つまり、復号化アルゴリズムがないので、これらの人々は MD5 はアルゴリズムにのみ属するものであり、暗号化アルゴリズムとは言えないと考えています。 MD5処理、つまり原文が暗号化されているからMD5を暗号化アルゴリズムだと思っている、個人的には支持 前者はBASE64アルゴリズムを暗号化としか考えていないのと同じ。

MD5 アルゴリズムは可逆的ですか?

MD5 が不可逆である理由は、MD5 がハッシュ関数であり、ハッシュ アルゴリズムを使用しているため、計算の過程で元の情報の一部が失われます。

ただし、MD5 の数には限りがあり、オリジナル テキストは無数に存在する可能性があるため、理論上、1 つの MD5 が実際に無数のオリジナル テキストに対応する可能性があることを指摘する価値があります。たとえば、主流の MD5 は、任意の長さの「バイト文字列」を 128 ビットの大きな整数にマップします。

つまり、合計 2^128 の可能性があり、これは約 3.4*10^38 になります。 . この数は有限です。しかし、世界中で暗号化に使用できる元のテキストの可能性は無数にあります。

しかし、注意すべき点が 1 つあります。これは理論上の有限対無限ではありますが、問題は次のとおりです。現実世界では、この無限大は完全には当てはまりません。現実には元のテキストの長さが制限されていることが多いためです (一般的に使用されるパスワードを例に挙げると、ほとんどの人は 20 桁以内です)。現在、2 つの元のテキストが同じに対応していることを確認したいと考えています MD5 値 (専門的にはハッシュ衝突と呼ばれます) を作成するのは非常に困難です。したがって、ある意味では 1 対 1 の対応関係を構築することは完全に可能ですMD5の値と原文の一定範囲内にあるため、現時点ではMD5が最も有効 攻撃方法はレインボーテーブル 詳細はGoogleで調べてください

MD5は非可逆に相当

MD5 は

1 を使用します。改ざんの防止:

1) たとえば、電子文書を送信する場合、送信前に、まずMD5出力結果aを取得し、相手が電子文書を受け取った後、相手もMD5出力結果bを取得し、aとbが同じであれば、途中で改ざんされていないことを意味します。

2) たとえば、ファイルのダウンロードを提供すると、犯罪者がインストール プログラムにトロイの木馬を追加することを防ぐために、インストール ファイルを Web サイトで公開できます。取得した MD5 出力結果。

3) SVN は、チェックアウト後にファイルが変更されたかどうかを検出するときにも MD5 を使用します。

2. プレーン テキストの直接表示を防ぐには:

多くの Web サイトでは、現在、ユーザーのパスワードをデータベースに保存するときに、ユーザーのパスワードを削除することで、犯罪者がデータベース内のユーザーのパスワードの MD5 値を取得したとしても、ユーザーのパスワードを知ることはできません(たとえば、UNIX システムの場合)。 、ユーザーのパスワード MD5 (または他の同様のアルゴリズム) で暗号化され、ファイル システムに保存されます。

ユーザーがログインすると、システムはユーザーが入力したパスワードを MD5 値に計算し、ファイル システムに保存します。 システム内の MD5 値を比較して、入力されたパスワードが正しいかどうかを判断します。

このような手順を通じて、システムはクリア コー​​ドを知らなくても、ユーザーのシステムへのログインの正当性を判断できます。これにより、ユーザーのパスワードがシステム管理者権限を持つユーザーに知られるのを防ぐことができるだけでなく、パスワードクラッキングの難易度がある程度向上します。)

3. 否認の防止 (デジタル署名):

これにはサードパーティの認証機関が必要です。たとえば、A がドキュメントを作成すると、認証機関は MD5 アルゴリズムを使用してファイルの概要情報を生成し、記録を保持します。

後で A がその文書は自分が書いたものではないと述べた場合、当局はその文書の概要情報を再生成し、それを記録に記録されている概要情報と比較するだけで済みます。 Aが書いたものであることが証明されるだろう。これを「デジタル署名」と呼びます。

MD5 のセキュリティ

ブルート フォース クラックにかかる時間は一般人には受け入れられないため、MD5 は非常に安全であると一般に考えられています。実際、ユーザーのパスワードが MD5 処理されてデータベースに保存される場合、非常に危険です。

ユーザーのパスワードは比較的短く、多くのユーザーのパスワードには誕生日、携帯電話番号、ID 番号、電話番号などが使用されているためです。または、一般的に使用される縁起の良い数字や英語の単語を使用します。最初に一般的に使用されるパスワードを MD5 し、データを保存してから、それを MD5 の結果と照合すると、平文が取得される可能性があります。

たとえば、MD5 クラッキング Web サイト http://www.cmd5.com/default.aspx があるため、現在、ほとんどの Web サイトのパスワード ポリシーでは、パスワードを改善するためにユーザーに数字と大文字の組み合わせを使用するよう強制しています。ユーザーパスワードのセキュリティ。

以上がmd5暗号化アルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

MySQL で MD5 暗号化を使用する方法 MySQL で MD5 暗号化を使用する方法 May 28, 2023 pm 02:16 PM

MD5とは何ですか?広く使用されている暗号化ハッシュ関数である MD5 Message-DigestAgorithm (英語: MD5Message-DigestAgorithm) は、完全かつ一貫した情報送信を保証するために 128 ビット (16 バイト) のハッシュ値 (ハッシュ値) を生成できます。 MD5 は、アメリカの暗号学者 Ronald Linn Rivest によって設計され、MD4 アルゴリズムを置き換えるために 1992 年に公開されました。このアルゴリズムのプログラムは RFC1321 規格で規定されています。 1996 年以降、このアルゴリズムには脆弱性があり、解読される可能性があることが判明したため、専門家は通常、高いセキュリティが必要なデータについては、他のアルゴリズムを使用することを推奨しています。

PHPはファイルのMD5ハッシュを計算します PHPはファイルのMD5ハッシュを計算します Mar 21, 2024 pm 01:42 PM

この記事では、ファイルの MD5 ハッシュを計算する PHP について詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP はファイルの MD5 ハッシュを計算します MD5 (MessageDigest5) は、任意の長さのメッセージを固定長の 128 ビットのハッシュ値に変換する一方向暗号化アルゴリズムです。ファイルの整合性の確保、データの信頼性の検証、デジタル署名の作成に広く使用されています。 PHP でのファイルの MD5 ハッシュの計算 PHP には、ファイルの MD5 ハッシュを計算するための複数の方法が用意されています: md5_file() 関数を使用します。 md5_file() 関数は、ファイルの MD5 ハッシュ値を直接計算し、32 文字の値を返します。

PHPは文字列のMD5ハッシュ値を計算します PHPは文字列のMD5ハッシュ値を計算します Mar 21, 2024 am 10:51 AM

この記事では、PHP が文字列の MD5 ハッシュ値を計算する方法について詳しく説明します。非常に実用的であると編集者が考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP で文字列の MD5 ハッシュ値を計算する はじめに MD5 (メッセージ ダイジェスト 5) は、固定長のハッシュ値を生成するために使用される一般的な暗号化ハッシュ関数であり、データの整合性の保護、ファイルの整合性の検証、およびデジタル署名の作成によく使用されます。この記事では、PHP 開発者向けに、組み込み関数を使用して文字列の MD5 ハッシュ値を計算する方法を説明します。 md5() 関数 PHP には、文字列の MD5 ハッシュ値を計算するための md5() 関数が用意されています。この関数は文字列パラメータを受け取り、32 文字の 16 進数のハッシュ値を返します。

Linux md5ツールとは何ですか Linux md5ツールとは何ですか Jun 29, 2023 am 10:51 AM

Linux md5 ツールは、ファイルの MD5 ハッシュ値を計算および検証するために使用されるツールです。MD5 は、一意の固定長ハッシュ値 (通常は 128 ビット) を生成するために使用される一般的に使用されるハッシュ アルゴリズムです。 Linux ターミナルの構文は「md5sum <ファイル パス>」です。

Java を使用して変更されたファイルの MD5 値を計算する方法 Java を使用して変更されたファイルの MD5 値を計算する方法 May 29, 2023 am 08:16 AM

MD5とは何ですか?広く使用されている暗号化ハッシュ関数である MD5 (MessageDigestAlgorithm、メッセージ ダイジェスト アルゴリズム) は、128 ビット (16 バイト) のハッシュ値 (ハッシュ値) を生成して、完全かつ一貫した情報送信を保証します。その後ろの数字 5 は、MD4 を置き換えるために発明されたためです。簡単に理解すると、その機能はファイルに一意の識別子を与えることです。ファイルの拡張子を変更するとファイルが開けなくなる場合がありますが、MD5の場合は変更ありません。したがって、ファイルの場合、名前を変更しても md5 検証には役に立ちません。 MD5 アプリケーション: ここでは、私がこれまでに目にした、より頻繁に使用されるアプリケーションのほんの一部を紹介します。

Java 二重 MD5 暗号化を使用して安全なログインを実現する方法 Java 二重 MD5 暗号化を使用して安全なログインを実現する方法 May 17, 2023 pm 05:31 PM

1: この問題では、データベースに保存されているパスワードの復号化操作が導入されています: 私のパスワードが正常に復号化されたことがわかりますが、MD5 アルゴリズムはハッシュ アルゴリズムであるため元に戻せないことは誰もが知っているので、これには驚きました。ハッシュアルゴリズムを使用しているため、元のテキストの情報の一部が計算プロセス中に失われます。では、なぜ私のパスワードが Web サイトで復号化されるのでしょうか?いろいろ調べてみたところ、オンライン復号ツールの復号原理は非常にシンプルで、ユーザーがよく使う簡単なパスワードを集めてパスワード辞書を作成し、辞書内のパスワードをMD5で暗号化して保存するというものでした。いわゆる「復号化」 「時間が来たら、実際のユーザーのパスワード暗号化の暗号文と保存されているパスワードを比較します。暗号文が辞書に存在する場合、

Pythonを使用してMD5暗号化を実装する方法 Pythonを使用してMD5暗号化を実装する方法 May 13, 2023 pm 08:04 PM

Python は MD5 暗号化を実装します。 1. はじめに MessageDigestAlgorithmMD5 (中国語名はメッセージ ダイジェスト アルゴリズム第 5 版) は、完全かつ一貫した情報送信を保証するためにコンピュータ セキュリティの分野で広く使用されているハッシュ関数です。 MD5 は一方向の暗号化であり、データの暗号化のみが可能で復号化はできないことを意味し、主にデータの整合性の問題を解決します。ダイジェストアルゴリズムは、ハッシュアルゴリズム、ハッシュアルゴリズムとも呼ばれます。関数を使用して、任意の長さのデータを固定長のデータ文字列 (通常は 16 進文字列で表されます) に変換します。 MD5 は最も一般的なダイジェスト アルゴリズムで、非常に高速で、文字列、ファイル、または圧縮パッケージに対して md5 を実行した後、128 ビットの固定長の文字列を生成できます。

JavaファイルのマージとMD5値の変更の問題を解決する方法 JavaファイルのマージとMD5値の変更の問題を解決する方法 May 10, 2023 pm 09:46 PM

テキスト ファイルのマージ操作の効果: 操作前: このパスには 9 個のファイルがあります。実行後: merge.txt ファイルが生成されます このコードのファイル内容表示コード部分は非常に単純な機能で、テキスト ファイルを 1 つずつマージして全体の merge.txt フォルダーに書き込むだけです。ファイルにコンテンツを追加する方法を学習したので、このデモを作成しました。簡単に言うと、各ファイル(テキストファイル、私はフィルタリングしました)を取得して入力ストリームを取得し、ループ内で毎回1つのファイルの情報をマージされたファイルに書き込みます。ファイルのマージが完了しました。 packagecom.filemerge;importjava.io.BufferedRead