Встречается на собеседованиях • сегодня
Хэшировал ли пароли в Java Security
В Java для хэширования паролей рекомендуется использовать MessageDigest или специализированные библиотеки вроде BCrypt, SCrypt, PBKDF2.
Пример с MessageDigest (SHA-256):
java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class PasswordHasher {
public static String hashPassword(String password) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] hashedBytes = md.digest(password.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : hashedBytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
}
}Но лучше использовать BCrypt (через библиотеку spring-security-crypto):
java
import org.springframework.security.crypto.bcrypt.BCrypt;
String hashed = BCrypt.hashpw(password, BCrypt.gensalt());Важно:
- SHA-256 без соли уязвим к rainbow-таблицам.
- BCrypt автоматически добавляет соль и устойчив к brute-force.
- Никогда не храните пароли в открытом виде!

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы