`
tousin
  • 浏览: 8718 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

<转载加修改>MDS 碰撞概率

阅读更多

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冲突。事实上,在一般的系统中,并没有必要考虑这两种情况。

 

分享到:
评论

相关推荐

    apache_shiro_管理用户权限与数据库交互

    &lt;param-name&gt;config&lt;/param-name&gt; &lt;param-value&gt;classpath:shiro.ini&lt;/param-value&gt; &lt;/init-param&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;ShiroFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/...

    MDS9753EURH-VB一款SOP8封装N+P-Channel场效应MOS管

    | Gate Threshold Voltage | V&lt;sub&gt;GS(th)&lt;/sub&gt;| V&lt;sub&gt;DS&lt;/sub&gt;=V&lt;sub&gt;GS&lt;/sub&gt;, I&lt;sub&gt;D&lt;/sub&gt;=250μA | 1.3 | | | V | #### 绝对最大额定值 在环境温度TA=25°C下,除非另有说明,MDS9753EURH-VB的绝对最大...

    最好的绿色虚拟光驱LevinISO

    &lt;br&gt;本虚拟光驱支持格式有: &lt;br&gt;&lt;br&gt;标准ISO文件(*.iso) &lt;br&gt;压缩ISO文件(*.isz) &lt;br&gt;Alcohol 120%(*.mds;*.mdf) &lt;br&gt;Ashampoo(*.ashdisc) &lt;br&gt;BlindWrite 6(*.b6t;*.b6i) &lt;br&gt;BlindWrite 5(*.b5t;*.b5i) &lt;br&gt;...

    MDS-FS-LClaim功能增强.docx

    在 MDS-FS-LClaim 功能增强中,UC 部分包括了多个用例,例如 UC_&lt;用例名称 1&gt; 和 UC_&lt;用例名称 2&gt;。 2.1 UC_&lt;用例名称 1&gt; 这个用例可能是指 MDS 平台中的某个特定功能,例如设备管理或软件更新。这个用例可能会...

    IsoCmdGUI美化版

    已测格式有:ISO,ISZ加密盘.mds.mdf&lt;br&gt;希望大家帮忙测试一下&lt;br&gt;&lt;br&gt;3.软件使用说明:&lt;br&gt;A. 加载驱动系统会自动出现虚拟光区盘&lt;br&gt;B. 打开镜像文件. 加载即可&lt;br&gt;C. 卸载.只是弹出光盘,虚拟光区盘符会消失,可以重新...

    MDS系列光交级联实验

    * show vsan &lt;vsan_id&gt; mem命令用于查看指定VSAN中的端口信息。 * 例如,show vsan 1 mem命令可以查看VSAN 1中的所有端口信息。 五、DOMAIN ID的作用 * DOMAIN ID是VSAN的唯一标识符,用于标识不同的VSAN。 * 在...

    java提取数据库表字段信息的工具类.docx

    LinkedHashMap&lt;String, String&gt; columns = new LinkedHashMap&lt;&gt;(); ResultSetMetaData mds = con.createStatement().executeQuery("SELECT * FROM " + tableName + " LIMIT 0,1").getMetaData(); int columnCount...

    mds.rar_MDS估计位置_MDS定位_MDS距离_localization_定位

    **MDS(多维尺度分析)在定位技术中的应用** 多维尺度分析(Multidimensional Scaling,MDS)是一种统计学方法,常用于数据降维和可视化,它能够将高维数据转换为低维空间中的点,使得这些点之间的距离尽可能接近...

    三菱MDS主轴伺服软件

    【三菱MDS主轴伺服软件】是用于控制和管理三菱电机生产的MDS系列主轴伺服系统的专业软件。这款软件提供了一系列的功能,包括参数备份、设置调整以及系统复位,以确保主轴伺服系统的稳定运行和高效性能。在工业自动化...

    mpc836x_mds.rar_mds836

    标题中的“mpc836x_mds.rar_mds836”暗示了这是一个与MPC8360E MDS板级支持包相关的压缩文件,其中“MPC8360E”是处理器型号,“MDS”代表“Microprocessor Development System”。这个系统通常用于微处理器的开发、...

    involutory_mds-master_LSP_mds_

    "involutory_mds-master_LSP_mds_" 这个标题暗示了我们正在讨论的项目是关于研究可逆的MDS矩阵,并且可能与轻量级的循环结构(LSP:Lightweight Shift-and-Permute)有关,这种结构旨在减少计算延迟,优化硬件实现。...

    MDS75最终版

    MDS7.5官方最终版本,安装后,要再下载破解补丁,覆盖到BIN目录下即可。

    MDS-MAP.zip_WSN_localization in WSN _matlab MDS_mds_mds map

    MDS-MAP(Multidimensional Scaling - Maximum A Posteriori)算法是一种在WSN中广泛应用的定位方法,它结合了多维标度理论和最大后验概率估计,以提高定位精度。本资源提供了MDS-MAP算法的MATLAB实现,为学习和研究...

    BlackBerry MDS Studio技术综述

    ### BlackBerry MDS Studio技术综述 #### 一、概述 BlackBerry MDS Studio是一款由Research In Motion(RIM)公司研发的专业开发工具,主要用于构建基于BlackBerry平台的企业级应用程序。该版本为V4.1,提供了更为...

    MDS电台资料,2710说明手册

    标题和描述中的“MDS无线数传电台说明手册”指向了一种高级的无线数据传输解决方案,旨在为微波通信领域的专业人士提供技术支持和指导。本文将深入解析MDS无线数传电台的技术特点、应用场景以及为何MDS成为SCADA系统...

    MDS方法流形学习

    MDS方法在历史上经历了若干发展,最基础的MDS模型是经典MDS,也称为度量MDS,它要求输入的数据是明确的距离矩阵。其基本思想是通过最小化嵌入空间中的距离与原始距离之间的应力(Stress)来寻找最佳的嵌入。具体而言...

    mds7.5含破解补丁.part3 .rar

    mds7.5含破解补丁.part3 .rar

    Construction of MDS-matrix

    对于MDS矩阵的构造,文档提到了两种方法:一种是随机生成矩阵然后检验其是否满足最大距离性质,另一种是采用代数构造方法,这种方法可以保证生成的矩阵具有最大距离性质。实验证明,对于GF(2^8)上的10x10字节大小的...

    mds7破解文件

    破解MDS75,复制,粘贴到BIN文件夹下,双击即可。

    WinMount v2.2.0 中文版

    &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;一般我们从网上下载到ZIP或RAR文件,都要把它展开,才能使用。你可以双击这个ZIP或RAR文件,解压软件会打开这个压缩文档里面的文件列表。你可以双击其中的一个文件,好象可以自动打开,但实际上这个...

Global site tag (gtag.js) - Google Analytics