2015-05-13 16 views
6

Dưới đây tôi đã mã hóa một chuỗi biến thể bằng cách sử dụng sha1. Và bây giờ tôi muốn giải mã dữ liệu bằng cách sử dụng hàm sha1, nhưng tôi sẽ đi đâu đó. Một số sẽ đến và hướng dẫn tôi một cách thích hợp.Làm thế nào để giải mã sha1 trong php?

Dưới đây là mã của tôi

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

Và tôi nhận ra như thế này

tiger 
46e3d772a1888eadff26c7ada47fd7502d796e07 
989df2c8b5ea37eb7cfde0527d94c01a15257002 
+2

Tôi nghĩ bạn hiểu nhầm điều gì đó - 'sha1' không phải là mã hóa theo cách mà nó có thể được giải mã (dễ dàng) (xem [this] (https://stackoverflow.com/questions/2235079/is-it-possible -to-reverse-a-sha1) answer) – kero

+5

Không thể giải mã 'sha1'. Với 'sha1' bạn có thể ** băm ** một chuỗi, khi một chuỗi được băm, bạn không thể giải mã nó. – Daan

+0

Có lẽ bạn đang nghĩ rằng 'sha1()' là một cypher Caesar đơn giản như 'str_rot13()': '$ variable =" tiger "; echo $ variable; $ encrypt = str_rot13 ($ variable); echo $ encryption; $ decrypt = str_rot13 ($ encrypted); echo $ decrypt; ' –

Trả lời

22

SHA-1 là một hàm băm một chiều.

Theo wikipedia

Một hàm băm mật mã là một hàm băm được coi thực tế không thể đảo ngược, nghĩa là, để tái tạo dữ liệu đầu vào từ giá trị băm của nó một mình.

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

Vì vậy bạn chỉ đơn giản là không thể giải mã nó.

+1

Nhưng bạn có thể làm điều đó – Batbayar

+0

Bạn có thể hiển thị ví dụ về mã làm thế nào để thực hiện nó? – Zgr3doo

+0

Điều tôi muốn nói là bạn có thể làm điều đó với sức mạnh vũ phu. Nhưng nó sẽ mất nhiều thời gian và nguồn lực để thực hiện điều đó. – Batbayar

0

Không thể giải mã trực tiếp SHA-1. Đây là ý tưởng đằng sau nó: mã hóa không thể giải mã dễ dàng.

Cách duy nhất để giải quyết nó là sức mạnh vũ phu: Hãy thử đoán kết quả chính xác bằng cách mã hóa cụm từ và kiểm tra xem chúng có phù hợp với cụm từ được cung cấp hay không.

Nếu bạn muốn sử dụng SHA-1 cho các nội dung như đăng nhập: Hãy mã hóa mật khẩu đã nhập trong SHA-1 và kiểm tra xem nó có giống mật khẩu đã nhập trong SHA-1 hay không.

1


SHA1 không thể dễ dàng bị dồn nén.
Cách duy nhất thông qua nó là một cracker brute-force.
Chúng có sẵn trực tuyến rộng rãi như: http://md5-sha.com/md5-encrypt-hash-generator-online
Những trang web này có cơ sở dữ liệu lớn đã được băm mật khẩu có thể rất hữu ích.
Hy vọng nó sẽ giúp bạn có một ngày tốt đẹp.

0

Hàm băm SHA1 không thể bị dồn dập nhưng bạn có thể thử trực tuyến trên nhiều trang web khác nhau có cơ sở dữ liệu ôm mật khẩu và mã băm SHA1. Vì vậy, bạn có thể thử bên dưới công cụ trực tuyến:

SHA1 Decoder Online

SHA1 tool

0

Bạn không thể giải mã nó.

Hashing là một cách duy nhất - MD5 và SHA-1 cả hai đều là hàm băm một chiều.

Bạn phải tạo mã băm mới của đầu vào ở biểu mẫu đăng nhập và kiểm tra xem nó có bằng băm được lưu trữ hay không.

Các vấn đề liên quan