Domanda

Sto lavorando su un sistema di accesso PHP / MySQL per un WebProject.Dopo aver visto, così e molti articoli sul web Ive inventa un quadro di base e ha iniziato a scrivere qualche codice per questo.Tuttavia, è arrivato a un po 'di un impasse nella crittografia della password.

Dopo una notte che vale la pena di leggere Ive ha scoperto che:

    .
  • Io dovrebbe la password degli utenti con almeno SHA1 o SHA2
  • Dovrei anche usare un sale generato a caso (questo è ciò con cui ho bisogno di aiuto) e ad aggiungerlo alla password prima di crittografare it
  • La password hashed e il sale generato a caso devono essere memorizzati nel database e quindi interrogati e combinati / crittografati quindi controllati contro la password hashed degli utenti.

Il mio problema è in arrivo a generare casualmente il sale,

È stato utile?

Soluzione

Possibilità che posso pensare:

    .
  • Usa mt_rand () in un ciclo per scegliere un codice ASCII, ottenere il personaggio corrispondente con < A href="http://php.net/chr%28%29" rel="nofollow"> chr () e concatenato a sale.

    Ciò consente di creare sali con qualsiasi lunghezza.

  • Definire una stringa con caratteri disponibili, utilizzare mt_rand () in un ciclo per scegliere posizioni casuali da Estrarre il personaggio nella posizione selezionata con substr () o mb_substr () e Concatena al sale.

    Ciò consente di creare sali con un set di caratteri scelto e una lunghezza.

  • Utilizzare una funzione integrata che genera una stringa casuale (ad es. UNIQID () ) e facoltativamente hash .

    Questo è veloce e semplice.

Normalmente uso la seconda opzione.

Altri suggerimenti

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