2013-06-12 3 views
1

Я запрограммировал программу Java, которая имеет доступ к моей базе данных MySQL. В настоящее время я использую Joomla как CMS, поэтому я хотел бы запрограммировать свою программу на Java, чтобы она могла проверять пользовательские данные (Joomla) для доступа к базе данных.Как расшифровать и зашифровать пароль пользователя Joomla для Java-программы?

Если это невозможно: какое шифрование следует использовать, чтобы впоследствии использовать его для своих сайтов?

Прямо сейчас моя программа просто сравнивает, если поле «Строки в поле пользователя и пароль» содержит данные из базы данных MySQL.

Я новичок в шифровании/расшифровке. Любые советы, как я должен подходить к этому вопросу, оцениваются.

заранее спасибо

здоровается

THE-E

+5

Вы не должны шифровать пароли вообще. Вы должны односторонне хешировать их. – EJP

+0

Я посмотрю на эту тему и ответю, как только узнаю об этом немного. Но Joomla не использует односторонний хэш, не так ли? Текущее состояние. Пользователи были созданы с использованием Joomla, и теперь я должен проверить имя пользователя и пароль пользователя, чтобы предоставить доступ к программе. –

+0

Возможный дубликат [шифрования паролей joomla] (http://stackoverflow.com/questions/10428126/joomla-password-encryption) – gbn

ответ

2

Вы не должны видеть какие-либо текстовые пароли в своей базе данных. Я не знаю точно, как старые версии Joomla это сделать, но в настоящее время те, сохранять пароли в следующем формате:

md5([password][salt]):[salt] 

Где вы, очевидно, заменить [пароль] с паролем и [соль] с соль. Например, вы можете увидеть следующую строку в поле пароля вашей пользовательской таблицы

dc0ea62a2aebf85100609bb67c6886a8:yh9MbHU5hR6ydbd8mCw6bQzCrRFYEI3E 

часть после двоеточия является соль, а часть перед двоеточием является md5 хэш пароля и Соленого , Теперь я могу сказать вам, что пароль здесь - «тест». И что строка: md5 (testyh9MbHU5hR6ydbd8mCw6bQzCrRFYEI3E): yh9MbHU5hR6ydbd8mCw6bQzCrRFYEI3E

+0

Больше не работает в Joomla 3.2.1. Больше нет «:», разделяющего зашифрованный пароль и соль. – nemesys

+0

Да, они перешли на использование bcrypt. Мой ответ выше относится к версиям Joomla до 3.2. – bjrn

0

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

то, что вы не хотите делать, не шифрует сохраненный пароль и сравнивает его с вводом формы.

в PHP я использую Bcrypt.

+0

http://youtu.be/3QnD2c4Xovk Это видео объясняет процедуру правильно? (для моего случая) –

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