C# がファイル MD5 と SHA1 を取得する方法の詳細な説明
最初にプログラミングを学び始めたとき、私はいつも自分でいくつかの小さなソフトウェア ガジェットを書くことを考えていました。
そして、これは古典的なファイルの MD5 検証であり、ちなみに SHA1 が追加されています。
インターネット上で何かをダウンロードするとき、作成者は MD5 値を提供します。
その機能は、ソフトウェアをダウンロードした後、ダウンロードしたファイルに対して MD5 チェックを実行して、取得したファイルがサイトによって提供されたファイルと同じファイルであることを確認できることです。
それでMD5検証ツールが必要なのでBaiduに行って探しますが、国内のダウンロードサイトは言うまでもなく…バンドルされているものはガードが難しいです。
それでは、プログラマーとして、自分で書いてみましょう。
このガジェットを分析するための主な要件は次のとおりです
1. パスに従ってファイルを見つけます
2. MD5 を取得します
非常に単純なガジェットです。最初のメソッドは FileInfo クラスを直接使用します。構造 関数へのパスを渡すだけで、ファイルをコンソールに直接ドラッグ アンド ドロップできるため、非常に便利です。
パスにスペースが含まれる場合、エラーが報告されることに注意してください。
このメソッドでは、s は受信ファイルのパスを表します
static void GetFile(string s) { try { FileInfo fi = new FileInfo(s); Console.WriteLine("文件路径:{0}", s); Console.WriteLine("文件名称:{0}", fi.Name.ToString()); Console.WriteLine("文件类型:{0}", fi.Extension.ToString()); Console.WriteLine("文件大小:{0} K", fi.Length / 1024); Console.WriteLine("文件创建时间:{0}", fi.CreationTime.ToString()); Console.WriteLine("上次访问时间:{0}", fi.LastAccessTime.ToString()); Console.WriteLine("上次写入时间:{0}", fi.LastWriteTime.ToString()); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
2 番目のメソッドでは、MD5 値を取得します。このメソッドでは、s は受信ファイルのパスを表します
MD5 は、ファイル全体を大きなテキスト メッセージとして扱い、その不可逆性を通じて処理します。文字列変換アルゴリズムにより、この固有の MD5 メッセージ ダイジェストが生成されます。
static void GetMD5(string s) { try { FileStream file = new FileStream(s,FileMode.Open); MD5 md5 = new MD5CryptoServiceProvider(); byte[] retval = md5.ComputeHash(file); file.Close(); StringBuilder sc = new StringBuilder(); for (int i = 0 ; i<retval.Length ; i++ ) { sc.Append(retval[i].ToString("x2")); } Console.WriteLine("文件MD5:{0}",sc); } catch(Exception ex) { Console.WriteLine(ex.Message); } }
3 番目の方法は、SHA1 値を取得することです。この方法では、s は受信ファイル パスを表します。
SHA1 は、長さが 2^64 ビット未満のメッセージに対して、 160 ビットのメッセージ。
SHA1 には次の特性があります: メッセージ ダイジェストから情報を復元することはできません; 2 つの異なるメッセージは同じメッセージ ダイジェストを生成しません (ただし、通常は無視して使用すると、1x10^48 の確率で同じメッセージ ダイジェストが生成されます)。
りー以上がC# がファイル MD5 と SHA1 を取得する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。
