md5是128位hash码(4个整数,每个整数4个字节)。我们假设它的计算结果是足够随机和足够分散的。因此,一个文件的md5码,有2的 128次方(用2^128表示,下面都用这种方式表示)个可能。进而我们知道,随意找出来的两个文件的md5码相等的可能性,是2^128分之一。下面讨论中,我们用r来表示这个概率(即r=2^-128)。
假设这十万个md5是一条条插入到数据库中的。第二个md5插入时,它跟第一条重复的概率是r。第三条url插入时,它有可能跟第一条重复,也有可能跟第二条重复,因此总发生重复的概率是2×r。同理,第四条插入时发生重复的概率是3×r...第n条插入时发生重复的概率是(n-1)×r。n个 md5码,其中有两个重复的概率是上面那么多个可能的加和。
因此,n个md5码,自然产生重复的概率是:
(1+2+3+...+(n-1))×r = (1/2)×n×(n-1)×r
以n=10^4,r=2^-128 代入,得到重复的概率为:
(1/2)×10^4×(10^4-1)×(2^-128)
10^4-1约等于10^4,上式可以简化:
(1/2)×10^8×(2^-128)
=10^8/(2×2^128)
我们使用近似2^10 = 1024 = 10^3,那么
=10^8/(10^36*2^9)
=2/(10^31)
这个数字小得可怜,到底有多小,我们来算一下:一般福利彩票的中头奖的机会,约一百万份之一,即1/10^6。而上面的数字,相当2/10^25个一百万份之一。也就是说:相当于某人买了一亿亿亿次福彩,每次都中头奖的概率。
结论:对于十万条数据,发生md5冲突的概率非常小,可以忽略不计。
补充:
上面对于md5的计算,并未考虑到人为制造的md5冲突(现在已经有方法可以制造有冲突的md5码了),也未考虑到计算md5码时,因数据补零而造成的md5冲突。事实上,在一般的系统中,并没有必要考虑这两种情况。
分享到:
相关推荐
<param-name>config</param-name> <param-value>classpath:shiro.ini</param-value> </init-param> </filter> <filter-mapping> <filter-name>ShiroFilter</filter-name> <url-pattern>/*</url-pattern> </...
| Gate Threshold Voltage | V<sub>GS(th)</sub>| V<sub>DS</sub>=V<sub>GS</sub>, I<sub>D</sub>=250μA | 1.3 | | | V | #### 绝对最大额定值 在环境温度TA=25°C下,除非另有说明,MDS9753EURH-VB的绝对最大...
<br>本虚拟光驱支持格式有: <br><br>标准ISO文件(*.iso) <br>压缩ISO文件(*.isz) <br>Alcohol 120%(*.mds;*.mdf) <br>Ashampoo(*.ashdisc) <br>BlindWrite 6(*.b6t;*.b6i) <br>BlindWrite 5(*.b5t;*.b5i) <br>...
在 MDS-FS-LClaim 功能增强中,UC 部分包括了多个用例,例如 UC_<用例名称 1> 和 UC_<用例名称 2>。 2.1 UC_<用例名称 1> 这个用例可能是指 MDS 平台中的某个特定功能,例如设备管理或软件更新。这个用例可能会...
已测格式有:ISO,ISZ加密盘.mds.mdf<br>希望大家帮忙测试一下<br><br>3.软件使用说明:<br>A. 加载驱动系统会自动出现虚拟光区盘<br>B. 打开镜像文件. 加载即可<br>C. 卸载.只是弹出光盘,虚拟光区盘符会消失,可以重新...
* show vsan <vsan_id> mem命令用于查看指定VSAN中的端口信息。 * 例如,show vsan 1 mem命令可以查看VSAN 1中的所有端口信息。 五、DOMAIN ID的作用 * DOMAIN ID是VSAN的唯一标识符,用于标识不同的VSAN。 * 在...
LinkedHashMap<String, String> columns = new LinkedHashMap<>(); ResultSetMetaData mds = con.createStatement().executeQuery("SELECT * FROM " + tableName + " LIMIT 0,1").getMetaData(); int columnCount...
**MDS(多维尺度分析)在定位技术中的应用** 多维尺度分析(Multidimensional Scaling,MDS)是一种统计学方法,常用于数据降维和可视化,它能够将高维数据转换为低维空间中的点,使得这些点之间的距离尽可能接近...
【三菱MDS主轴伺服软件】是用于控制和管理三菱电机生产的MDS系列主轴伺服系统的专业软件。这款软件提供了一系列的功能,包括参数备份、设置调整以及系统复位,以确保主轴伺服系统的稳定运行和高效性能。在工业自动化...
标题中的“mpc836x_mds.rar_mds836”暗示了这是一个与MPC8360E MDS板级支持包相关的压缩文件,其中“MPC8360E”是处理器型号,“MDS”代表“Microprocessor Development System”。这个系统通常用于微处理器的开发、...
"involutory_mds-master_LSP_mds_" 这个标题暗示了我们正在讨论的项目是关于研究可逆的MDS矩阵,并且可能与轻量级的循环结构(LSP:Lightweight Shift-and-Permute)有关,这种结构旨在减少计算延迟,优化硬件实现。...
MDS7.5官方最终版本,安装后,要再下载破解补丁,覆盖到BIN目录下即可。
MDS-MAP(Multidimensional Scaling - Maximum A Posteriori)算法是一种在WSN中广泛应用的定位方法,它结合了多维标度理论和最大后验概率估计,以提高定位精度。本资源提供了MDS-MAP算法的MATLAB实现,为学习和研究...
### BlackBerry MDS Studio技术综述 #### 一、概述 BlackBerry MDS Studio是一款由Research In Motion(RIM)公司研发的专业开发工具,主要用于构建基于BlackBerry平台的企业级应用程序。该版本为V4.1,提供了更为...
标题和描述中的“MDS无线数传电台说明手册”指向了一种高级的无线数据传输解决方案,旨在为微波通信领域的专业人士提供技术支持和指导。本文将深入解析MDS无线数传电台的技术特点、应用场景以及为何MDS成为SCADA系统...
MDS方法在历史上经历了若干发展,最基础的MDS模型是经典MDS,也称为度量MDS,它要求输入的数据是明确的距离矩阵。其基本思想是通过最小化嵌入空间中的距离与原始距离之间的应力(Stress)来寻找最佳的嵌入。具体而言...
mds7.5含破解补丁.part3 .rar
对于MDS矩阵的构造,文档提到了两种方法:一种是随机生成矩阵然后检验其是否满足最大距离性质,另一种是采用代数构造方法,这种方法可以保证生成的矩阵具有最大距离性质。实验证明,对于GF(2^8)上的10x10字节大小的...
破解MDS75,复制,粘贴到BIN文件夹下,双击即可。
<br><br><br><br>一般我们从网上下载到ZIP或RAR文件,都要把它展开,才能使用。你可以双击这个ZIP或RAR文件,解压软件会打开这个压缩文档里面的文件列表。你可以双击其中的一个文件,好象可以自动打开,但实际上这个...