我们登录“杭州市小客车总量调控管理信息系统”(网址https://hzxkctk.cn/),在网站首页左侧的“通知公告”中,可以看到每期杭州车牌摇号结果公告。
2021年1月杭州市小客车
增量指标摇号结果公告
个人摇号指标配置结果
MD5码:226a2a7be7db53fa20924b8ac6c8d244
单位摇号指标配置结果
MD5码:29946ff9e4a53280aa58228bc35ca7dd
杭州市小客车总量调控管理办公室
2021年1月26日
从公告中可以下载摇号结果文件,有个MD5码,每期摇号结果都有MD5码,这个MD5码是什么?有什么用?本文为你详细解读。
MD5信息摘要算法(MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个散列值,用于确保信息传输完整一致。MD5的典型应用是对一段信息产生信息摘要,以防止被篡改。
这又是什么意思呢?我们抛开专业术语,用通俗的话来说,举个例子:我电脑里有一个文件,我把这个文件通过网络发给你,你接收到文件,在这个网络传输的过程中,这个文件还是不是最初的文件?中间有没有可能有变化?中途被人修改,或者被人掉包?你怎么能确定你接收的这个文件就是我要发出的这个文件呢?有办法保证一字不差吗?
MD5就是来做这个事情的,电脑文件可以经过MD5算法得出一串MD5码,我这里对最初的文件进行运算得到MD5码,并且公开,你接收到文件,你也对文件进行运算得到MD5码,将2个MD5码核对,如果一致,就说明2个文件是完全一样的,如果不一样,那文件就不是最初的文件。
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件名做了任何改动,即使只是在word文件中增加了一个空格,其MD5值也就是对应的“数字指纹”都会发生很大变化。
我们常常在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。
如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
MD5还广泛应用于密码管理,当我们需要保存密码信息以用于身份确认时,如果直接将密码信息以明码方式保存在数据库中,不使用任何保密措施,系统管理员就很容易能得到原来的密码信息,这些信息一旦泄露,密码也很容易被破译。
为了增加安全性,有必要对数据库中需要保密的信息进行加密,这样,即使有人得到了整个数据库,如果没有解密算法,也不能得到原来的密码信息。MD5算法可以很好地解决这个问题,因为它可以将任意长度的输入串经过计算得到固定长度的输出,并且这个算法是不可逆的,即便得到了加密以后的密文,也不可能通过解密算法反算出明文。
这样就可以把用户的密码以MD5值的方式保存起来,用户登录的时候,系统是把用户输入的密码计算成 MD5 值,然后再去和系统中保存的 MD5 值进行比较,如果密文相同,就可以认定密码是正确的,否则密码错误。通过这样的步骤,系统在并不知道用户密码明码的情况下就可以确定用户登录系统的合法性。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
杭州市车牌摇号结果文件发布MD5码,就是要保证这个文件是没有被修改过的,是摇号当时的原始文件。