Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    711

    creare un hash per verificare integrità dei dati

    Ciao a tutti,

    genero un hash con questo sistema, secondo voi è sicuro?

    Codice PHP:
        private function getHash($array) {        
    $pw '12345';//ovviamente la pw è molto più complessa        
    $stringResult '';        
    foreach (
    $array as $key => $value) {            
    $stringResult.=$value;       
     }      
      
    $hash hash('sha256'$pw $stringResult);                
    return 
    $hash;    

    Calcolando l'hash in questo modo, posso avere la sicurezza che, se la fonte e la destinazione conoscono la pw e la formula per calcolare l'hash, nessuno abbia manipolato i dati contenuti in un array?

    Sarebbe sufficiente in questo caso un sha1 o è meglio un sha256.

    Grazie,
    Roberto

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    cosa contiene $array ?

    io usualmente parlando di password e se tratto applicazioni sensibili la salvo a database già criptata e quando invio il dato lo cripto in ingresso
    così facendo non ho x function che fanno un "lavoro già fatto"

    ...ma non sapendo cosa hai dentro $array non so se ti ho consigliato bene

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    711
    Quote Originariamente inviata da 6neo6 Visualizza il messaggio
    cosa contiene $array ?

    io usualmente parlando di password e se tratto applicazioni sensibili la salvo a database già criptata e quando invio il dato lo cripto in ingresso
    così facendo non ho x function che fanno un "lavoro già fatto"

    ...ma non sapendo cosa hai dentro $array non so se ti ho consigliato bene
    sono dei dati che provengono da server1 tabella da un db
    devo inviarli ad un altro server altro db.

    es, eggo dati da una tabella:
    Codice PHP:
    {
    "domanda':'ciao come ti chiami?",
    "testo":"l'utente si chiama:",
    "default":true
    "hash":"34r208423r0874320234873420",//sha256

    l'utente risponde alla domanda e invia lo stesso JSON con la sua risposta a un server2 con un db indipendente, con l'hash il server 2 verifica che il testo non sia stato manipolato

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    ok capito, ma è tutta necessaria questa "sicurezza" intendo

    "
    sono dei dati che provengono da server1 tabella da un db
    devo inviarli ad un altro server altro db.
    "
    se vi sono 2 DB potresti fare tutto server side, sei tu che gestisci entrambi i DB?

    se sei tu dovresti fare 1 analisi di dove i dati "potrebbero essere manipolati" e lavorare in quel punto specifico.
    per cui ti chiedo ...questa manipolazione dei dati può essere fatta su server1 o su server2 ?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    711
    I dati passano da due server che vengono gestiti da 2 diverse società, societa_a, societa_b, se l'una e l'altra conoscono solo loro la formula per come calcolare l'hash, generato con sha256, posso essere sicuro che non ci sia stata manipolazione dei dati?
    ...a parte ovviamente la risposta dell'utente che dipende solo da lui!
    Cioè non deve succedere questo:
    dati ricevuti dall'utente dal server1:

    codice:
    {
    "domanda':'ciao come ti chiami?",
    "testo":"l'utente si chiama:",
    "default":true
    "hash":"34r208423r0874320234873420",//sha256
    } 
    risposta utente:
    codice:
    {'risposta':'mario'}
    Dati inviati dall'utente al server2:

    codice:
    {
    "domanda':'BLALABLABLABLA",
    "testo":"l'utente si chiama:",
    "default":true
    "hash":"34r208423r0874320234873420",//sha256
    } 
    risposta utente:
    codice:
    {'risposta':'mario'}

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    uhmmm per cui mi stai dicendo che per ipotesi, la societ� 2 potrebbe "entrare nel DB" e modificare i record?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    711
    Quote Originariamente inviata da 6neo6 Visualizza il messaggio
    uhmmm per cui mi stai dicendo che per ipotesi, la societ� 2 potrebbe "entrare nel DB" e modificare i record?
    entrambe le società sono affidabili, voglio solo che l'uttente non possa modificare dei dati e vorrei averne la certezza.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    si ok, ma rispondi alla mia domanda
    le 2 società per ipotesi avrebbero gli strumenti per entrare nel db e modificare il record manualmente?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    711
    Quote Originariamente inviata da 6neo6 Visualizza il messaggio
    si ok, ma rispondi alla mia domanda
    le 2 società per ipotesi avrebbero gli strumenti per entrare nel db e modificare il record manualmente?
    Il primo server lo gestisco io, il secondo no, ma se la seconda societá modificasse un record, risulterebbe, non posso aggiungere alltro.
    L'unico problema è sapere se l'utente ha manipolato i dati che reinvia, con l'hash sha256 che includo, dovrebbe essere sufficiente, giusto?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2020
    Messaggi
    38
    Quote Originariamente inviata da robynosse Visualizza il messaggio
    Il primo server lo gestisco io, il secondo no, ma se la seconda societá modificasse un record, risulterebbe, non posso aggiungere alltro.
    L'unico problema è sapere se l'utente ha manipolato i dati che reinvia, con l'hash sha256 che includo, dovrebbe essere sufficiente, giusto?

    Ok per cui il controllo deve essere fatto SOLO in ingresso su un server che gestisci tu, per cui
    tu invio

    stringa1 = 'ciccio'
    stringa2 = 'paperino'
    etc...

    loro ti reinviano
    stringa1 = 'ciccio'
    stringa2 = 'paperino'

    Se così fosse non c'è bisogni di nessuna chiave da 007
    se stringa1 è diversa da quella che arriva il dato è stato modificato

    non è più semplice?

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 © 2020 vBulletin Solutions, Inc. All rights reserved.