Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [mysql] sposto password su altro db..

    salve ragazzi,
    mi trovo in questa situazione, ho un sito che registra le password all'interno di una tabella utilizzando il metodo di criptazione a senzo unico ovvero: "insert ecc.... password('ciao')"


    tutto ok

    ora però devo spostare il database su un'altro server e noto che le password, quando faccio una query di interrogazione, non mi vengono riconociute... come devo fare ?

  2. #2
    password() produce un hash a 32 digit nella versione mysql 4.0 mentre nella versione >= 4.1 l'hash prodotto e' di 40 digit. per dare compatibilita' alla vecchia password() hanno creato un old_password().


    quindi password() (32 digit) di 4.0 e' equivalente a old_password() di 4.1 e superiore. Attenzione al dimensionamento del campo.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    il mio vecchio db era su versione 5 e ora l'ho spostato su la versione 4.1

    il problema è che se faccio delle select sul campo passowrd sia in questo modo:
    SELECT * FROM profilo WHERE PWD=old_password('test3')
    che in questo
    SELECT * FROM profilo WHERE PWD=password('test3')

    e sapendo che la password test3 esiste, l query non funziona... cosa potrebbe essere?

  4. #4
    Originariamente inviato da scmatteo
    il mio vecchio db era su versione 5 e ora l'ho spostato su la versione 4.1

    il problema è che se faccio delle select sul campo passowrd sia in questo modo:
    SELECT * FROM profilo WHERE PWD=old_password('test3')
    che in questo
    SELECT * FROM profilo WHERE PWD=password('test3')

    e sapendo che la password test3 esiste, l query non funziona... cosa potrebbe essere?
    la versione 4.1 e la 5 usano lo stesso tipo di password(). Quindi non si tratta di quello. La query non funziona .... cosa non funziona? controlla se ti rende un errore. Il database spostato suppongo tu lo abbia fatto con un backup/restore e non con un copia/incolla dei file.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    io posso interagire soltanto dal phpmyadmin, quindi ho fatto un esporta tabelle dal vecchio (4.1) e importa nel nuovo database (5)....

    nel campo password noto che i caratteri vengono mantenuti, ma quando faccio la query di select mi vengono restituiti 0 record....


    io vorrei evitare di risettare le password perchè sono a migliaia e non riuscirei nemmeno a sapere quali erano... dove sbaglio non capisco...

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012

    Re: [mysql] sposto password su altro db..

    Originariamente inviato da scmatteo
    salve ragazzi,
    mi trovo in questa situazione, ho un sito che registra le password all'interno di una tabella utilizzando il metodo di criptazione a senzo unico ovvero: "insert ecc.... password('ciao')"


    tutto ok

    ora però devo spostare il database su un'altro server e noto che le password, quando faccio una query di interrogazione, non mi vengono riconociute... come devo fare ?
    domanda: su che algoritmo si basa password() di mysql? il risultato dipende in qualche modo dalla macchina che lo ospita oppure è sempre lo stesso tipo md5 o sha1?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Se provi ad aggiungere un utente per prova questo lo riesci a recuperare con la select?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8

    Re: Re: [mysql] sposto password su altro db..

    Originariamente inviato da dottwatson
    domanda: su che algoritmo si basa password() di mysql? il risultato dipende in qualche modo dalla macchina che lo ospita oppure è sempre lo stesso tipo md5 o sha1?

    si certo, se faccio una insert con password() e faccio la relativa select con password() il record viene tropvato...

  9. #9

    Re: Re: [mysql] sposto password su altro db..

    Originariamente inviato da dottwatson
    domanda: su che algoritmo si basa password() di mysql? il risultato dipende in qualche modo dalla macchina che lo ospita oppure è sempre lo stesso tipo md5 o sha1?
    E' dello stesso tipo di MD5 o SHA1 nel senso di one way only.... Pero' il manuale dice di non usare password() per le proprie applicazioni.

    PASSWORD(str)

    Calculates and returns a password string from the plaintext password str and returns a binary string, or NULL if the argument was NULL. This is the function that is used for encrypting MySQL passwords for storage in the Password column of the user grant table.

    mysql> SELECT PASSWORD('badpwd');
    -> '*AAB3E285149C0135D51A520E1940DD3263DC008C'

    PASSWORD() encryption is one-way (not reversible).

    PASSWORD() does not perform password encryption in the same way that Unix passwords are encrypted. See ENCRYPT().


    Note
    The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications. For that purpose, consider MD5() or SHA1() instead. Also see RFC 2195, section 2 (Challenge-Response Authentication Mechanism (CRAM)), for more information about handling passwords and authentication securely in your applications.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    quindi in pratica sono impossibilitato a recuperare le password soltanto perchè mi sono trovato nella situazione di dover cambiare database?... è un po assurdo cavolo...

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.