Я использовал библиотеку Apache для хэш-пароля для двух приложений в Linux. Один из них - Pure-Ftp, а другой - мое приложение. Я вручную сохраняю хэшированный пароль в файле Pure-Ftp passwd, он отлично работает, и пользователь может использовать Ftp с данным пользователем/паролем.
В моем приложении я хочу аутентифицировать пользователя, но нет функции checkPassword (clearTextPassword, hashedPassword).Как аутентифицировать пользователя с SHA1 в Java
import org.apache.commons.codec.digest.Crypt;
...
...
...
String hashedValue = Crypt.crypt(clearTextPassword);
..
Ну нет, вам нужно * написать * этот код. Где вы храните хешированные пароли? Это действительно непонятно, что вы просите здесь. (Неясно, какие отношения между вашим паролем и FTP ...) Также я бы лично избегал использования SHA-1 в качестве хэша паролей для любой серьезной работы. –
Просто использовать хеш-функцию недостаточно, и просто добавление соли мало помогает улучшить безопасность. Вместо этого перебирайте HMAC со случайной солью в течение приблизительно 100 мс и сохраняйте соль с хешем. Используйте такие функции, как 'PBKDF2' (aka' Rfc2898DeriveBytes'), 'password_hash' /' password_verify', 'Bcrypt' и аналогичные функции. Дело в том, чтобы заставить злоумышленника потратить много времени на поиск паролей грубой силой. Защита ваших пользователей важна, используйте безопасные пароли. – zaph
Я думал, что SHA1 512 безопасен, не так ли? Я не хочу использовать функцию bash. Я хочу создать хешированный пароль один раз в Java, а затем сохранить его в базе данных и в файле passwd Pure-Ftp. – Razavi