2015-05-13 16 views
6

Di seguito ho crittografato una stringa varible usando sha1. E ora vorrei decifrare i dati usando la funzione sha1, ma ne sto andando dove. Qualcuno si farebbe avanti e mi guiderebbe nel modo giusto per favore.Come decifrare sha1 in php?

Qui di seguito è il mio codice

<?php 
    $variable = "tiger"; 
    echo $variable; 
    $encrypt = sha1($variable); 
    echo $encrypt; 
    $decrypt = sha1($encrypt); 
    echo $decrypt; 
?> 

e ottengo output come questo

tiger 
46e3d772a1888eadff26c7ada47fd7502d796e07 
989df2c8b5ea37eb7cfde0527d94c01a15257002 
+2

Penso che abbiate frainteso qualcosa - 'sha1' non è una crittografia nel modo in cui può essere (facilmente) decrittografata (si veda [questo] (https://stackoverflow.com/questions/2235079/is-it-possible -to-reverse-a-sha1) risposta) – kero

+5

Non è possibile decodificare 'sha1'. Con 'sha1' puoi ** hash ** una stringa, una volta che una stringa è hash non puoi decrittografarla. – Daan

+0

Forse stai pensando che 'sha1()' è un semplice cesar di Caesar come 'str_rot13()': '$ variable =" tiger "; echo $ variabile; $ encrypt = str_rot13 ($ variabile); echo $ encrypt; $ decrypt = str_rot13 ($ encrypt); echo $ decrypt; ' –

risposta

22

SHA-1 è una funzione hash unidirezionale.

Secondo wikipedia

Una funzione crittografica di hash è una funzione hash che è considerato praticamente impossibile da invertire, cioè ricreare i dati di ingresso dal suo valore hash da solo.

http://en.wikipedia.org/wiki/Cryptographic_hash_function

Così semplicemente non si può decifrare.

+1

Ma puoi farlo – Batbayar

+0

Puoi mostrare un esempio di codice su come realizzarlo? – Zgr3doo

+0

Quello che voglio dire è che puoi farlo con la forza bruta. Ma ci vorrebbe un po 'di tempo e molte risorse per farlo. – Batbayar

0

SHA-1 non può essere decifrato direttamente. Questa è l'idea alla base: la crittografia che non può essere decifrata facilmente.

L'unico modo per risolverlo è la forza bruta: provare a indovinare il risultato corretto codificando le frasi e controllando se si adattano alla frase fornita.

Se si desidera utilizzare SHA-1 per cose come gli accessi: Codificare anche la password inserita in SHA-1 e verificare se è uguale a quella salvata in SHA-1.

1


SHA1 non può essere decodificato facilmente.
L'unico modo attraverso di esso è un cracker a forza bruta.
Sono ampiamente disponibili online come: http://md5-sha.com/md5-encrypt-hash-generator-online
Questi siti Web dispongono di un ampio database di password già sottoposte a hash che possono essere molto utili.
Spero che ti aiuti, buona giornata.

0

L'hash SHA1 non può essere decifrato, ma puoi provare online su molti siti diversi che includono un database di password e l'hash SHA1. Così si può provare qui sotto strumenti on-line:

SHA1 Decoder Online

SHA1 tool

0

Non puoi decifrarlo.

L'hashing è un modo solo - MD5 e SHA-1 sono entrambi funzioni di hash unidirezionali.

È necessario creare un nuovo hash dell'ingresso nel modulo di accesso e verificare se è uguale all'hash memorizzato.