Domanda

crypt(text,"k7")

Ho guardato in su e apparentemente 'K7' è il sale, ma non ho idea di cosa significhi né quale tipo di uscita arriverà a questo, qualcuno sa?

È stato utile?

Soluzione

cripta pagina man .

  

Descrizione

     

crypt () è la crittografia delle password   funzione. Si basa sui dati   Algoritmo di cifratura standard con   variazioni prefisso (tra le altre   cose) di scoraggiare l'uso di hardware   implementazioni di una chiave di ricerca.

     

chiave è la password digitata dall'utente.

     

sale è una stringa di due caratteri scelta   dal set [az AZ 0-9./]. Questo   stringa viene utilizzato per perturbare l'algoritmo in uno di 4096 modi diversi.

Altri suggerimenti

Tutte le altre risposte sono corrette, ma finora nessuno ha spiegato perché il sale è lì.

Wikipedia ha una buona pagina su sali e noreferrer tabelle arcobaleno , che sono il motivo principale per cui abbiamo sali.

Senza sale, cripta è fondamentalmente solo una funzione di hashing a senso unico. Ci vorrebbe una password e restituire una versione hash di quella password. tavoli Rainbow forniscono un metodo ottimizzato per sconfiggere il "one-way" natura di questo hash, e indietreggiando la password originale.

Se si riesce ad ottenere le password hash (attraverso alcuni database di exploit, o l'accesso al /etc/passwd o il file /etc/shadow), si potrebbe teoricamente conoscere un sacco di password delle persone.

Un sale aggiunge un ulteriore fattore di "random" per il mix. È necessario creare un sale casuale e negozio che da qualche parte (con la password è OK, ma è separata meglio). Ora una serie di tabelle arcobaleno non è sufficiente, è improvvisamente bisogno di 65.536 insiemi di tali tabelle (nel caso di un sale a due byte). Il sale potrebbe anche essere tenuto separato dalla password, l'aggiunta di un ostacolo in più.

Sale anche aiutare a prevenire gli utenti con le stesse password sembra avere la stessa password; il sale è di solito selezionato in modo casuale, e se i sali sono diverse poi le password hash sarà drammaticamente diverso.

Sarò anche sottolineare questo blog che spiega un po ' basi di password , che ho trovato molto istruttivo.

Come Randolpho fa notare, si tratta di un processo di hashing a senso unico per il testo.

L'uso standard per crypt () è in memorizzare le password. Ovviamente, la memorizzazione della password in testo semplice sarebbe molto mal consigliato. Invece, crypt () viene utilizzato per generare un hash della password. Quando si digita la password, crypt () viene applicato a questo, e poi i due hash sono confrontati.

Essenzialmente, la funzione di cripta () è tradurre il testo in qualche nuovo testo, da cui l'originale può mai essere recuperato, ma che ha una bassa probabilità di generare lo stesso hash per due chiavi diverse.

Wikipedia FTW

In conclusione: è a senso unico hash text

Manuale C - Cripta

  

La funzione cripta prende una password, chiave, come una stringa, e un array di caratteri del sale che viene descritto qui di seguito, e restituisce una stringa ASCII stampabili che inizia con un altro sale. Si ritiene che, data l'output della funzione, il modo migliore per trovare una chiave che produrrà che la produzione è quello di indovinare valori della chiave finché non si trova il valore originale della chiave.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top