Puoi criptare una password usando quella stessa password? [duplicare]

6

Ho bisogno di fare una richiesta a un server web, l'unica informazione che ho dal membro è un numero di account e una password. Il numero dell'account non può essere crittografato perché ho bisogno di quelle informazioni per cercare il record dei membri. Vorrei criptare la password prima di passarla al server web. Ma non ho alcuna chiave segreta per crittografare la password del membro, l'applicazione può essere invertita progettata. La mia domanda è puoi criptare una password usando quella password ?? Come MySecretKey viene crittografato usando MySecretKey come password. Non so se questo è possibile anche se si aggiunge sale. Qualche consiglio?

    
posta kwolbert 29.08.2012 - 06:42
fonte

2 risposte

5

Per rispondere alla tua domanda specifica , sì, certo, puoi crittografare un dato usando come chiave un'altra porzione di dati, anche se i dati e la chiave sono identici. Ma cosa otterrebbe? Decifrare sarebbe difficile: hai bisogno della chiave per decifrare e non hai la password finché non la decifri ...

"Autocrittografia" potrebbe essere vista come una sorta di funzione di hash: una trasformazione deterministica di alcuni dati di input, in un modo che può essere invertito. Hashing è il framework appropriato per l'archiviazione delle password (dove, in effetti, la password non è memorizzata, solo un token di verifica della password). Tuttavia, le crescenti funzioni di hash fatte in casa sono note per essere difficili; quando i crittografi vogliono costruire una funzione di hash, prendono un sacco di tempo perché devono essere sicuro che la funzione sia sicura, e non puoi saperlo solo guardandolo.

Inoltre, l'hashing sicuro non è di per sé sufficiente. Hai bisogno di un hash SLOW e SALTED. Questo argomento è stato picchiato a morte più volte su questo sito, si veda ad esempio questa domanda o quella . La risposta completa è: usa bcrypt .

    
risposta data 29.08.2012 - 13:25
fonte
1

I would like to encrypt the password before passing it to the web server.

Penso che questa sia la vera domanda. Utilizza SSL. Non eseguire il rollover del tuo metodo per tentare di permutare la password. Se è crittografato in transito con SSL e confrontato con una versione con hash (preferibilmente qualcosa di adatto per password come bcrypt come Tom Leek ha sottolineato ), quindi hai la configurazione delle best practice.

    
risposta data 29.08.2012 - 20:25
fonte

Leggi altre domande sui tag