2010-12-29 11 views
2

自分のC#Windows実行ファイルで、独自のHASH値を判断したい。私はハッシュを実装する方法を知っていますが、実行時に決定する方法はありますか?自分のアプリケーションのハッシュを実行しているかどうかを確認しますか?

+0

:これにより

System.Reflection.Assembly.GetExecutingAssembly(); // Assembly reference System.Reflection.Assembly.GetEntryAssembly(); // Top level assembly reference 

を独自のハッシュアルゴリズムを使用することができますか?何が問題になっていますか? – Oded

+0

これは、人々がアプリケーションを変更できないようにするためのセキュリティ手段ですか? –

+0

コード署名を再作成しようとしているわけではありませんか? – driis

答えて

2

ハッシュで公開鍵トークン、または独自のハッシュアルゴリズムを意味するのかどうかは不明です。これらにより

あなたは、単にアセンブリオブジェクトから公開キートークンプロパティを取得することができますについて、あなたはどの部分を求めている

System.Reflection.Assembly.GetExecutingAssembly().Location // Filename 
+0

私はSHA-256またはSHA-512を意味します。 – RKh

+0

私が最初の質問に対するコメントで述べたように、コード署名を再実装するのに時間を費やさないでください。 .NETはすでにこれまで以上に優れていますし、マルウェアからあなたを守ることはできません。あなたが元の質問に対するコメントで述べたように、あなたの目標は何ですか。 –

2

Assembly.GetExecutingAssembly().Locationは、実行可能ファイルへのパスです。あなたはそれを読んで、SHA1CryptoServiceProviderまたは何かでハッシュを計算することができます。

関連する問題