Как зашифровать пароль, хранящийся на LDAP-сервера, в Java-приложении?
На LDAP-сервере хранятся логины и пароли пользователей (зашифрованные). В Java-приложении пользователи вводят свои данные, логин и зашифрованный пароль отправляются в php-скрипт, проверяющий правильность данных.
На сервере пароли зашифрованы алгоритмом SSHA, который использует соль (случайную последовательность символов), причём соль рандомом задаётся и не понятно где хранится.
Java-приложение должно зашифровывать пароль в тот вид, в котором он хранится на сервере, но как подобрать соль?
Собственно, вопрос: как реализовать это? Можно ли, например, шифровать в SHA без соли, а в php-скрипте проверить уже в таком шифре (Точно знаю, что есть функция, проверяющая пароль без шифра вообще и с тем шифром, который используется на сервере, может быть, есть функция, которая проверит пароль с любым алгоритмом хэширования?) Или можно реализовать что-то другое?
ну, то есть в эту функцию передаётся соль, которая сгенерировалась автоматически при создании пользователя? а где хранить соль? и как ее узнавать для каждого пользователя?