Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

PasswordEncoder și BCrypt în Spring Security în Spring Boot

security Spring Boot 3.x / Spring Security 6 Q&A / Distribuie cod

Hășuirea sigură a parolelor folosind BCrypt: generare de salt criptografic automat și verificare sigură contra atacurilor de sincronizare.

Sintaxă
@Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); }

Salvarea parolelor în clar în baza de date reprezintă o încălcare critică de securitate. Spring Security impune utilizarea interfeței PasswordEncoder pentru transformarea parolelor în hash-uri criptografice unidirecționale sigure.

Algoritmul standard recomandat este BCryptPasswordEncoder (sau Argon2), care generează automat un salt criptografic unic pentru fiecare parolă și folosește un factor de cost computațional reglabil (work factor) ce încetinește atacurile brute-force.

Exemplu: Definire bean BCryptPasswordEncoder și utilizare în serviciul de înregistrare
package ro.dexblog.demo.security;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

@Configuration
class PasswordConfig {
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder(12); // factor de cost 12
    }
}

@Service
public class UserRegistrationService {
    private final PasswordEncoder encoder;

    public UserRegistrationService(PasswordEncoder encoder) {
        this.encoder = encoder;
    }

    public void register(String rawPassword) {
        String secureHash = encoder.encode(rawPassword);
        System.out.println("Hash generat pentru salvare în baza de date: " + secureHash);
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: PasswordEncoder și BCrypt în Spring Security

Ai o nelămurire despre utilizarea comenzii PasswordEncoder și BCrypt în Spring Security sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.