Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    MySQL - Password composta da info dei campi

    Ho un DB con i campi id, nome, cognome e password. Vorrei compilare, con una query, il campo "password" con una password prodotta da informazioni ripresa dai campi id, nome e cognome, alternando tra lettera e numero (id è numerico). Ad esempio: Potrei prendere il primo numero da "id", le 3 prime lettere da "nome", in maiuscolo, e le e ultime da "cognome", in minuscolo. Lo potrei fare con uno script in una pagina PHP, ma un record alla volta. Sarebbe possibile farlo con una semplice query?
    Luiz

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    La query è molto semplice, si tratta solo di consultare il manuale e studiarsi le funzioni di gestione delle stringhe .

    codice:
    update tabella set `password` = concat(substring(id,1,1),upper(substring(nome,1,3)),lower(right(cognome,3)))
    Le password però non sarebbero molto sicure.
    Ti conviene impostare un campo char di 40 caratteri e trasformare la suddetta query ad esempio così:

    codice:
    update tabella set `password` = sha1(concat(substring(id,1,1),upper(substring(nome,1,3)),lower(right(cognome,3)),'tuo_salt'))
    Se ad esempio hai l'utente con id 1 di nome mario rossi, la query per autenticarsi, basata su nome e password, sarebbe:

    codice:
    select * from tabella where nome = 'mario'
    and `password` = sha1(concat('1MARssi','tuo_salt'))
    dove tuo_salt è una parola, possibilmente complessa e non di uso comune, che imposterai a tua discrezione.

  3. #3
    Grazie, Nicola. Chiarissimo!
    Scusa per aver aperto due volte l'argumento. Mi aveva dato un messaggio di errore...

    Con il PHP avevo fatto bene, ma non mi veniva nella query. In PHP avevo fatto
    Codice PHP:
    <?php echo substr($row_Recordset1['nome'],0,3); ?><?php echo substr($row_Recordset1['id_utente'],-2); ?><span style="text-transform:uppercase"><?php echo substr($row_Recordset1['cognome'],0,3); ?></span>
    Luiz

  4. #4
    La password non dovrebbe mai avere riferimenti dei dati degli utenti.
    Riferimenti fissi poi...
    Ciao!

  5. #5
    Sono assolutamente d'accordo. Le esigenze dei clienti sono queste. Cmq cerco di cambiare loro idea.
    Luiz

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.