2013-09-04 4 views
4

Можно ли расшифровать приведенный ниже код? ниже мой метод, где мы шифруем значения String. Если это расшифровка, пожалуйста, помогите мне, как это сделать, поскольку мой алгоритм MD5 не расшифровывается, но на данный момент моя задача - найти способ его расшифровать. Пожалуйста, предоставьте ваше ценное мнение, чтобы сделать это.MD5 алгоритм Расшифровка в java

public static String encryptPassword(final String password) { 
     if (MyUtil.isEmpty(password)) { 
      return null; 
     } 
     MessageDigest digest; 
     try { 
      digest = MessageDigest.getInstance("MD5"); 
      digest.update(password.getBytes(), 0, password.length()); 
      String secured = new BigInteger(1, digest.digest()).toString(16); 
      return secured; 
     } catch (NoSuchAlgorithmException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
+0

MD5 производят хеш, я думаю, что невозможно вернуть строку из хэша, сгенерированного Md5. –

+0

Спасибо всем за ваш ответ – subodh

ответ

3

но сейчас моя работа состоит в том, чтобы найти способ расшифровать

удачи. MD5 является хешем, что означает одностороннее, не обязательно биективное преобразование, от ввода к выходу. Известно, что MD5 является слабым, но только для общих столкновений, а не для выбранного хэш-атаки. Вы можете попробовать каждый возможный ввод до тех пор, пока не получите правильный хеш (или столкновение), но он будет дорогостоящим по цене, а не обязательно хорошей идеей. Кроме того, в качестве компиляции памяти во времени могут использоваться предварительно созданные таблицы радуги. Они занимают много времени, чтобы генерировать, но имеют быстрый поиск. Я не буду ссылаться на них из-за разногласий по их использованию, но вы можете получить и приобрести их свободно, если вы находитесь в пределах применимых законов вашей юрисдикции. Этот процесс по-прежнему не является обычным, и это не лучшая идея для webapp или общего приложения.

Вы заглянули в AES вместо этого, который имеет ключ и шифрует, разрешая расшифровку с помощью этого ключа?

1

Вы не можете полностью изменить алгоритм MD5, что вы можете сделать Тхи это искать столкновения и надеюсь, что вы найдете один. Наиболее распространенным способом взлома md5 хэш является rainbow tables, где вы сравниваете свой хэш с огромной коллекцией предварительно вычисленных хэшей, надеясь найти совпадение.

Смежные вопросы