如何在php中解密sha1?

How to decrypt sha1 in php?

下面我用sha1加密了一个字符串变量。 现在我希望使用sha1函数解密数据,但是要去一些地方。 请有人提出来并以正确的方式指导我。

下面是我的代码

1
2
3
4
5
6
7
8
<?php
   $variable  ="tiger";
   echo $variable;
   $encrypt = sha1($variable);
   echo $encrypt;
   $decrypt = sha1($encrypt);
   echo $decrypt;
 ?>

我得到这样的输出

1
2
3
tiger
46e3d772a1888eadff26c7ada47fd7502d796e07
989df2c8b5ea37eb7cfde0527d94c01a15257002


SHA-1是一种单向哈希函数。

根据维基百科

A cryptographic hash function is a hash function which is considered
practically impossible to invert, that is, to recreate the input data
from its hash value alone.

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

因此,您根本无法解密它。


只需简单地对密码进行自定义编码解码即可,然后可以使用base64_encode()存储在db中,并使用base64_decode()在配置文件中使用等


您无法解密。

哈希只是一种方式-MD5和SHA-1都是单向哈希函数。

您必须在登录表单上创建输入的新哈希,并检查它是否等于存储的哈希。


SHA1哈希不能被删除,但是您可以在许多拥有密码数据库并且是SHA1哈希的不同站点上在线尝试。因此,您可以尝试以下在线工具:

SHA1在线解码器

SHA1工具


SHA1不能轻易删除。
唯一的方法是蛮力饼干。
它们在网上广泛可用,例如:http://md5-sha.com/md5-encrypt-hash-generator-online
这些网站拥有一个已经散列密码的大型数据库,这可能非常有用。
希望对您有帮助,祝您有美好的一天。


SHA-1无法直接解密。这就是其背后的想法:不能轻易解密的加密。

解决此问题的唯一方法是蛮力:尝试通过编码短语并检查它们是否适合提供的短语来猜测正确的结果。

如果要使用SHA-1进行登录之类的操作:将输入的密码也编码为SHA-1,并检查其是否与保存在SHA-1中的密码相同。


如果您无法解密,并且想要显示该值,请使用此方法。

例如,您正在创建登录表单,并使用密码进行了加密,并希望在用户登录到其仪表板后向其显示密码。

然后创建两列,其中一列用于加密密码,一列用于not_encrypted_pa??ssword,

1
2
3
$not_encrypted_password="password";
$encrypted_password =sha1("password");
$sql = mysqli_query($conn,"INSERT INTO user (not_encrypted_password,encrypted_password)VALUES('$not_encrypted_password','$encrypted_password')");

通过这种方式,您可以将登录名用于crypto_password列,并在仪表板中显示密码,以供用户使用not_encrypted_pa??ssword列。