Я оглядывался, и ближайший ответ: Как создать случайную буквенно-цифровую строку?
Я хочу следовать этому документообороту в соответствии с этим Учебник по CrackStation:
Чтобы сохранить пароль
Создайте длинную случайную соль с помощью CSPRNG.
Подготовьте соль к паролю и используйте его с помощью стандартной криптографической хэш-функции, такой как SHA256.
Сохраните соль и хэш в записи базы данных пользователя.
Проверка пароля
Извлеките пользовательскую соль и хэш из базы данных.
Подготовьте соль к данному паролю и используйте его с помощью той же функции хэша.
Сравните хэш данного пароля с хешем из базы данных. Если они совпадают, пароль правильный. В противном случае пароль неверен.
Я не знаю, как создать СОЛЬ. Я понял, как создать хеш с помощью MessageDigest. Я попытался использовать SecureRandom, но метод nextByte создает искаженный код.
Изменить: Я не знаю, какой ответ выбрать, они слишком сложны для меня, я решил использовать jBCrypt; jBCript прост в использовании, делает весь сложный материал за кулисами. поэтому я позволю сообществу голосовать за лучший ответ.