[SQL] Controllo lunghezza password

di il
3 risposte

[SQL] Controllo lunghezza password

Ciao a tutti,
sto progettando un db e tra le tabelle che ho implementato ho quella del Cliente(id, username, password), la password è un char(8) ma cmq mi permette di inserire anche stringhe con meno caratteri. Vorrei creare un controllo prima di memorizzare la password, un trigger Before farebbe al caso mio, ma cosa uso nel trigger per contare i caratteri di una stringa???
Ho cercato su internet ed ho trovato che in SQL c'è LEN, ma il trigger non vede LEN come funzione

Come posso risolvere?!!

Grazie mille

3 Risposte

  • Re: [SQL] Controllo lunghezza password

    Che dbms usi? La sintassi dei trigger varia molto a seconda del dbms.

    Comunque credo che si possa anche inserire un semplice vincolo di integrità sul dominio di quel campo, se l'obbiettivo è semplicemente impedire l'inserimento di una password con lunghezza sbagliata.

    P.S.: considera che generalmente le password vanno criptate prima di inserirle nel db, e gli algoritmi di crittatura standard restituiscono stringhe sempre della stessa lunghezza. Quindi sarebbe più giusto fare il controllo a livello applicazione.
  • Re: [SQL] Controllo lunghezza password

    dvaosta ha scritto:


    Che dbms usi? La sintassi dei trigger varia molto a seconda del dbms.

    Comunque credo che si possa anche inserire un semplice vincolo di integrità sul dominio di quel campo, se l'obbiettivo è semplicemente impedire l'inserimento di una password con lunghezza sbagliata.

    P.S.: considera che generalmente le password vanno criptate prima di inserirle nel db, e gli algoritmi di crittatura standard restituiscono stringhe sempre della stessa lunghezza. Quindi sarebbe più giusto fare il controllo a livello applicazione.

    Uso Oracle, in particolare Sql developer.Sì il mio obiettivo è solo impedire l'inserimento di una password con lunghezza sbagliata....proverò con il vincolo sul dominio

    Grazie mille
  • Re: [SQL] Controllo lunghezza password

    Io con oracle per impostare una password di tot caratteri uso il seguente vincolo di integrità:
    CHECK (LENGHT (password)>=8)
    Puoi anche precedere il tutto con un CONSTRAINT "NOME" per rimoniare il vincolo.
Devi accedere o registrarti per scrivere nel forum
3 risposte