OTA是当前车载行业非常热门的一个话题和研究方向,然而车辆又是跟大家的生命安全息息相关的一个日常工具,因此对于车辆升级的限制条件和安全阈值是我们不可避开的一个话题,今天我们来介绍一下对于文件的校验常用的一个算法MD5。
今天我们先来说下什么是MD5算法,这个整明白后,我们再来聊如何通过CPAL语言来实现就会简单一丢丢。MD5全称Message-Digest Algorithm,它是一段由任意文件生成一个固定长度128 bits密码散列,即无论你的字符串或者文件大小是多少,最终生成的内容都是输出128 bits的数据,这是今天聊得第一个重点大家在学习的过程中要记住。
上面已经说了,无论我们的字符串或者文件大小为任意值,经过MD5散列函数运算后输出的长度均为16 bytes,那么很容易我们就会想到,想要输出16 bytes,我们如何对已有的字符串进行处理,如果我们把MD5散列函数作为一个黑盒子,那么当我们输入一个字符串长度小于16 bytes的字符串“a”,它会输出MD5码"0CC175B9C0F1B6A831C399E269772661";当我们输入字符串长度大于16 bytes字符串“abcdefghijklmnopqrst”,它也会输出MD5码“6AA8DE45918023095F6E831EFE48D00B”。如果看到这里你第一次接触,那么肯定很多疑问。我们今天直接从实现的角度来聊一下MD5算法。我们先说一下每次对一组字符串完成MD5校验需要的完成的步骤。