VB.net MD5 校验和到十六进制

发布于 2024-10-17 06:23:39 字数 380 浏览 2 评论 0原文

我有一个包含 700,000 个 MD5 病毒签名的数据库,其格式如下:

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

有没有办法将 Md5 校验和转换为有效的十六进制签名?
如果是这样,如何(使用 VB.net)将 md5 校验和转换为十六进制,删除第一个 83968: 内容并保留相同格式的名称?

所以最终产品看起来像:

{valid hex signature} :Worm.Gaobot-318

I have a database of 700,000 MD5 virus signatures in the following format:

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

Is there a way to convert the Md5 checksums to valid Hex signatures?
If so, how would (using VB.net) I convert the md5 checksum to hex, remove that first 83968: thing and leave the name in the same format?

So the end product would look like:

{valid hex signature} :Worm.Gaobot-318

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

枕梦 2024-10-24 06:23:39

我明白你在说什么。您从 Clam 数据库中获得了大量病毒的 MD5。但后来你发现 MD5 不是好的签名,十六进制签名才好。现在你想将 MD5 转换为十六进制。这是不可能的。您可以计算给定字符串的 MD5,但无法从给定 MD5 取回字符串。

快乐编码!

I understand what you are saying. You've got a large collection of MD5s of viruses from the clam database. But later you came to know that MD5s are not good signatures but hex signatures are good. And now you want to convert the MD5s into hex.Its not possible. You can compute the MD5 of a given string, but you cannot get back the string from a given MD5.

Happy coding!

感悟人生的甜 2024-10-24 06:23:39

您的“有效的十六进制签名”不是 MD5 哈希 - 它太长了。 MD5 产生 16 个字节,因此 32 个十六进制字符...您的 Eicar 示例是 80 个字符(40 个字节)。

您首先没有指定使用什么算法来得出“有效的十六进制签名”,但假设那里没有冗余,那么您根本没有足够的信息来生成它。这就像当你只知道每个演讲的第一个词时问如何编写戏剧的概要一样。

Your "valid hex signature" isn't an MD5 hash - it's too long. MD5 produces 16 bytes, so 32 hex characters... your Eicar example is 80 characters (40 bytes).

You haven't specified what algorithm is used to come up with that "valid hex signature" in the first place, but assuming there's no redundancy there, you simply don't have enough information to produce it. It's like asking how to produce the synopsis of a play when you only know the first word of each speech.

枉心 2024-10-24 06:23:39
$string fullStr = "83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318 ";
$string name = fullStr.Split(":")[2];
$string md5 = fullStr.Split(":")[1];

这将为您提供名称和 md5,不带“83968”或“:”

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

This will give you the name and the md5 without the "83968" or ":"

尴尬癌患者 2024-10-24 06:23:39

看起来您的 MD5 值已经以十六进制格式表示。所以你在这方面做得很好。剩下的唯一事情就是根据“:”字符分割字符串。假设这是您的格式:

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]);
}

It looks like your MD5 values are already represented in a hexadecimal format. So you are good to go in that regard. The only thing left is to split the string on the ":" character. Assuming this is your format:

83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318

Here is some C# psuedo code....

string fullStr = "83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318 ";
string arr[] = fullStr.Split(":");
for(int i=0; i<arr.length; i++)
{
    Console.WriteLine(arr[i]);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文