VB.net MD5 контрольные суммы в шестнадцатеричный - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть база данных из 700 000 сигнатур вирусов MD5 в следующем формате:

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

Можно ли преобразовать контрольные суммы Md5 в действительные сигнатуры Hex?
Если да, то как (используяVB.net) Я конвертирую контрольную сумму md5 в шестнадцатеричный код, удаляю первую 83968: вещь и оставляю имя в том же формате?

Таким образом, конечный продукт будет выглядеть так:

Ответы [ 4 ]

1 голос
/ 24 августа 2011
$string fullStr = "83968:961ed981485cea5ab3936496966ba0d6:Worm.Gaobot-318 ";
$string name = fullStr.Split(":")[2];
$string md5 = fullStr.Split(":")[1];

Это даст вам имя и md5 без "83968" или ":"

1 голос
/ 19 июня 2011

Я понимаю, что вы говорите. У вас есть большая коллекция вирусов MD5 из базы данных моллюсков. Но позже вы узнали, что MD5 не являются хорошими сигнатурами, а шестнадцатеричные подписи хороши И теперь вы хотите конвертировать MD5 в шестнадцатеричные. Это невозможно. Вы можете вычислить MD5 для данной строки, но вы не можете получить обратно строку из заданного MD5.

Удачного кодирования!

1 голос
/ 12 февраля 2011

Ваша "действительная шестнадцатеричная подпись" не является хешем MD5 - она ​​слишком длинная.MD5 производит 16 байтов, поэтому 32 шестнадцатеричных символа ... ваш пример Eicar составляет 80 символов (40 байтов).

Вы не указали, какой алгоритм используется для создания этой "действительной шестнадцатеричной подписи" вВо-первых, но при условии, что там нет избыточности, у вас просто недостаточно информации для ее создания.Это все равно что спрашивать, как составить конспект пьесы, когда вы знаете только первое слово каждой речи.

0 голосов
/ 13 февраля 2011

Похоже, что ваши значения 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]);
}
...