能力值:
( LV2,RANK:10 )
|
-
-
2 楼
因为结果有2的128次方种可能,理论上,如果你以知某个二进制串的md5等于X,那么看到md5为X的结果,你就可以直接拿那个原串对应,但是有2的128种md5的值,没有哪个数据库能记录这么多的对应关系,所以看到一个 未知的md5值,你无法知道原始二进制串是什么。主要是因为2的128次方太大了。
如果只有32位,比如crc32,你很容易可以找到一个串的crc32的值等于给定值,但2的128次方太大了,你穷举不过来,所以起到加密作用。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
你的意思我知道 ,但有数学原理 可以证明吗
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
2的128此方 是怎么来的,请指教
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
标准的md5是生成128位的信息。
md5的信息摘录是有损的,通过n次矩阵运算得到的数据。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
x^2=1 求x
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
看看 逛逛 溜达溜达!!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
我也想知道2的128次方是怎么来的。谢谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
这问题问的好。。。不研究算法。。不懂。。。但是也来看看 学习下
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
看看 学习下
|
能力值:
( LV3,RANK:30 )
|
-
-
11 楼
MD5的位长是128位,所以一共可以有2^128种结果,而MD5也不是什么所谓的加密算法,而是hash算法,因为是有损的对数据去摘要,所以这种过程是不可逆的。是一个单向的过程。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
建议去看md5源代码
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
这是个很简单的问题,因为md5的结果值是16字节,128bit,而每个bit都有两种取值0或1。因此,根据排列组合的话,结果只有2的128次方种可能。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
md5算法是单向的散列算法 基于一个数学难题 可以为任意大的文件生成一个128位的字符串 虽然之前的文件和之后生成的字符串有一一对应的关系 但是不可以从md5算法产生的字符串推出之前的文件或者字符的内容 又因md5算法是基于一个数学难题 也就是说 当这个数学难题没有解决之前 md5都是相对安全的 破解md5的方法现在一般采用彩虹表
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
不知道这篇还能帮到你 http://mcm.csu.edu.cn/Forums/1235/ShowPost.aspx
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
看完帖子,终于有了较清晰的印象;
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
看看。学习一下!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
hash算法 散列函数
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
实际上这个是要看算法的基本原理,网上应该有专门的讲这个的资料。个人意见是如果不是纯粹的研究算法原理,知道数学原理未必有必要。不当之处请谅解。
|
|
|