我是韩国人,所以英语水平非常低。
我不知道加密方法(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
答案 0 :(得分:1)
是否可以解密单向加密?
看,病房不是encryption
,而是称为 Hashing !答案是,不。您无法解密 HASH消息到其纯文本,这意味着Hashing无法进行反转。例如,
SHA(plainText) -> hashText
然后没有类似inVerseSHA
的机制可以执行以下操作,
inVerseSHA(hashText) -> plainText
您所能做的就是通过相同的过程hashText
在另一个实体中再次生成SHA(plainText) -> hashText
并检查文本消息的完整性(匹配两个hashText
),即哈希的主要目的。
我认为您首先阅读了有关Data Integrity和Hash Function的详细信息。
编辑:
我不知道加密方法(LIKE SHA,MD5其他任何东西..)
SHA
,MD5
不是加密方法,是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个不同的普通文本中的哪一个来自?该信息不包含在散列本身中。没有办法从哈希转到导致它的纯文本。事实上,哈希函数的构建方式,你甚至无法检查任何散列或散列集,并放心地说原始字节的单个位的设置。如果可以的话,我们会说哈希被打破了,没有人会再使用它了。