2016-12-07 2 views
0

У меня есть таблица MySQL с колонкой пароля с зашифрованными значениями в следующем формате:какого типа шифрования может быть использован

1:zQtUZSG/lfWc246vxdjwkw==VQXjCwmKIkOLuhbb+37fYg== 

мне нужно знать, что шифрование используется и как я могу расшифровать эту колонку , Шифрование выполняется на переднем конце, поэтому это можно сделать через java.

ответ

1

Прямого ответа на этот вопрос нет. Тем не менее, я постараюсь дать достаточно информации здесь, чтобы понять возможности.

Есть три основных типа алгоритмов шифрования:

  1. Симметричный - тот же ключ используется для шифрования и дешифрования (например, RSA)
  2. Asymmetric - Messsage шифруется открытым ключом может быть расшифровывается личным ключом (например, AES, DES)
  3. Хеширование - Преобразование данных в необратимую хэш-запись фиксированной длины (например, MD5, SHA-1)

Обычно в приложении на основе графического интерфейса пользователя, где пароль хранится в базе данных или сервере LDAP, используется хеширование. Здесь зашифрованный хэш не может быть расшифрован, чтобы получить исходный пароль. Идея заключается в том, что когда пользователь вводит свой пароль, введенный пароль преобразуется в хеш и сравнивается с сохраненным хэшем. Если совпадение найдено, пользователь аутентифицируется.

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

Надеюсь, это поможет.

0

Если у вас есть доступ к БД hybris, посмотрите на поле p_passwordencoding таблицы users. Это содержит кодировку, используемую для пароля.

Однако, весьма вероятно (почти наверняка), что это односторонний хеш. Таким образом, нет реального способа декодирования пароля. В этом случае я бы установил кодировку пароля «plain» и установил пароль для некоторого простого текста. Затем вы можете войти в систему с помощью этого пользователя и правильно установить пароль в hMC.

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