-2

次の形式の700,000のMD5ウイルスシグネチャのデータベースがあります。

83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318
86016:4bed8673ab3d695c52c233306ed3f733:Worm.Gaobot-319

Md5チェックサムを有効な16進署名に変換する方法はありますか?
もしそうなら、(VB.netを使用して)md5チェックサムを16進数に変換し、最初の83968:ものを削除して、名前を同じ形式のままにするにはどうすればよいですか?

したがって、最終製品は次のようになります。

{valid hex signature} :Worm.Gaobot-318
4

4 に答える 4

1
$string fullStr = "83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318 ";
$string name = fullStr.Split(":")[2];
$string md5 = fullStr.Split(":")[1];

これにより、「83968」または「:」を除いた名前と md5 が得られます。

于 2011-08-24T19:07:36.003 に答える
1

「有効な 16 進署名」は MD5 ハッシュではありません。長すぎます。MD5 は 16 バイトを生成するため、32 個の 16 進文字... Eicar の例は 80 文字 (40 バイト) です。

そもそもその「有効な16進署名」を作成するために使用されるアルゴリズムを指定していませんが、そこに冗長性がないと仮定すると、それを生成するのに十分な情報がありません。それは、演説の最初の単語しか知らないのに、芝居のあらすじをどのように作成するかを尋ねるようなものです。

于 2011-02-12T17:13:40.483 に答える
1

私はあなたが言っていることを理解しています。clam データベースからウイルスの MD5 の大規模なコレクションを取得しました。しかし後で、MD5 は適切な署名ではなく、16 進署名は適切であることがわかりました。そして、MD5 を hex に変換したいのですが、それは不可能です。特定の文字列の MD5 を計算することはできますが、特定の MD5 から文字列を取得することはできません。

ハッピーコーディング!

于 2011-06-19T03:36:38.517 に答える
0

MD5 値は既に 16 進数形式で表されているようです。ですから、その点については大丈夫です。あとは「:」文字で文字列を分割するだけです。これがあなたのフォーマットであると仮定します:

83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318

ここにいくつかのC#疑似コードがあります....

string fullStr = "83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318 ";
string arr[] = fullStr.Split(":");
for(int i=0; i<arr.length; i++)
{
    Console.WriteLine(arr[i]);
}
于 2011-02-12T21:57:57.547 に答える