是否可以解密单向加密? (使用真实数据和加密数据)

时间:2015-07-09 02:49:06

标签: encryption hash cryptography password-encryption hash-function

我是韩国人,所以英语水平非常低。

我不知道加密方法(LIKE SHA,MD5其他任何东西..)

只知道此数据使用单向加密。

我有 15,000个真实数据

并且 60,000个加密数据

(15,000个实际数据匹配与15,000个加密数据)

1)实际数据只是数字(长度为8)

2)加密数据长度为80

是否可以解密单向加密?

=========这是样本匹配数据============

32700130(实际数据)

JDQ4MTYyMiM1MSMkMSMkNCMkOTIkMzgxMzUxIzExIyQxIyQzIyQ4OSQyNjE4MzIjNDEjJDEjJDQjJDgz

11100079

JDQ4MTg4MSM1MSMkMSMkMCMkODkkMzgxMzUxIzExIyQxIyQzIyQ3OSQzNjE4MzIjODEjJDEjJDYjJDgz

11100443

JDQ4MTg4MSM1MSMkMSMkMCMkODkkMzgxMzUxIzExIyQxIyQzIyQ2MiQzNjE0ODEjNTEjJDEjJDYjJDgz

11100494

JDQ4MTg4MSM1MSMkMSMkMCMkODkkMzgxMzUxIzExIyQxIyQzIyQ2MiQ0NjEwMDIjNjEjJDEjJDAjJDgz

35100010

JDQ4MTYyMiM2MSMkMSMkNiMkODkkMzgxMzUxIzExIyQxIyQzIyQ3OSQyNjEwMDIjNDEjJDEjJDQjJDgz

31100864

JDQ4MTYyMiM1MSMkMSMkMCMkODkkMzgxMzUxIzExIyQxIyQzIyQxMyQyNjE4MzIjNzEjJDEjJDgjJDgz

2 个答案:

答案 0 :(得分:1)

  

是否可以解密单向加密?

看,病房不是encryption,而是称为 Hashing !答案是,不。您无法解密 HASH消息到其纯文本,这意味着Hashing无法进行反转。例如,

SHA(plainText) -> hashText

然后没有类似inVerseSHA的机制可以执行以下操作,

inVerseSHA(hashText) -> plainText

您所能做的就是通过相同的过程hashText在另一个实体中再次生成SHA(plainText) -> hashText并检查文本消息的完整性(匹配两个hashText),即哈希的主要目的。

我认为您首先阅读了有关Data IntegrityHash Function的详细信息。

编辑:

  

我不知道加密方法(LIKE SHA,MD5其他任何东西..)

SHAMD5不是加密方法,是SHA-1使用最广泛的加密哈希函数,生成160位值。

答案 1 :(得分:1)

尽管散列不是以有损压缩的方式使用,但它确实会压缩,而且非常有损。不仅没有已知的方法来反转良好的哈希。理论上也没有办法。

考虑10,000个数字长的整个数字集。有10 ^ 10000种可能性。所有这些都可以被散列为512位散列。但是512位散列具有2 ^ 512或大约10 ^ 100的可能性。因此,如果您可以散列每10,000位数字,那么SHA512算法中的每个10 ^ 100个可能的哈希值将包含10 ^ 100个冲突。

是的,这是一场很多的碰撞。散列算法具有抗冲突性,但不可能进行一次碰撞证明。不要打赌你会活得足够长,看到一次这样的碰撞,因为你可能不会。但是,如果你可以散列每10,000位数字,你会发现很多数字。

然后问题来了。如果你只有哈希,那10 ^ 100个不同的普通文本中的哪一个来自?该信息不包含在散列本身中。没有办法从哈希转到导致它的纯文本。事实上,哈希函数的构建方式,你甚至无法检查任何散列或散列集,并放心地说原始字节的单个位的设置。如果可以的话,我们会说哈希被打破了,没有人会再使用它了。