Post

Visualizzazione dei post con l'etichetta sha-256

Spring Security 3.1: StandardPasswordEncoder

Immagine
DOMANDA: Come posso criptare le password  con Spring Security 3.1 ? RISPOSTA: Per codificare le password in modo  sufficientemente sicuro , bisogna seguire i seguenti step: 1. utilizzare un codificatore hash che implementi un buon algoritmo 2. aggiungere il salt 3. concatenare una stringa randomica al salt.  Fortunatamente tutti questi fattori sono facilmente implementabili con Spring Security  utilizzando pochi step di configurazione. Nel nostro esempio utilizzeremo  la classe StandardPasswordEncoder .  Essa è in grado di codificare la password con l'algoritmo di hashing SHA-256  ed aggiungere, in automatico, un valore di salt randomico di 8 byte. Inoltre, passando una stringa al costruttore (nell'esempio di seguito: "123456"), Spring la concatenerà al salt generato rendendo più robusto il sistema di sicurezza.    Ecco quindi le righe da aggiungere al nostro file di configurazione spring-security.xml : <beans:bean id = "enco

Codifica sicura della password con SHA256

DOMANDA: Come posso creare un sistema di conservazione sicura delle password nel database della mia applicazione? RISPOSTA: Il metodo più usato per conservare in maniera sicura le password consiste nel " cifrarle " con alcuni algoritmi che utilizzano funzioni non invertibili ( one-way ). Nell'esempio vi mostrerò come cifrare utilizzando SHA256 , attualmente un buon compromesso tra sicurezza e costi computazionali per un'applicazione media. In ogni caso vedremo quanto è facile modificare il tipo di cifratura utilizzata. Di seguito la classe  PwdCoder che effettua la codifica e il test della password : package codificapassword; public class PwdCoder{ public static String getEncodedPassword(String clearTextPassword) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(clearTextPassword.getBytes()); return HexString.bufferToHex(md.digest()); /