• base64与MD5


    因为最近的工作需要接触了一些和base64相关的代码,今天上网的时候仔细查了一下,顺便查了以前一直有听说没有研究的MD5校验,写一点心得.

    base64实际上是一种简单的字符序列化,从字面上的意思来看就是以一种字符序列来记录原数据,每个字符含有6位数字,因此成为base64(2^6)

    之所以使用6位数字主要原因在于26个英文字母大小写加上0~9已经有62个字符了,再加上"+"和"/"正好凑了64和字符,方便记录和传输.

    传统的ASCII码使用的是7位字符,但ASCII中有很多字符是不可打印的,为了方便网络传输,使用base64更加便于读写以及复制黏贴.

    另外base64也可以用于掩盖原始数据,使其变为暗文.

    其编码和解码方式非常简单,将原有的8位字节序列3个一组,从高到低转化为4个6位字符,不够的字符补上"="字符用于填充.

    字符序列化之后便于了传输,另一个问题就是传输的校验.之前我主要使用CRC校验数据,但对于数据量比较大的时候,CRC校验就存在了一定局限性

    因此使用更高安全性的MD5算法校验是个不错的选择

    CRC校验结果是32位的而MD5校验结果是128位的,及时很大的数据组合也能有效降低出错概率,经常用于密码和文件的校验

    不过MD5的算法可不简单,反复的计算并不太适合速率比较低的单片机工作,因此在工业通讯中似乎很少见到使用,而对于通讯校验一般主要是防止误码

    用MD5似乎有些大材小用了,所以考虑再三暂时还是使用CRC校验吧

  • 相关阅读:
    linux下mysql安装
    出现GC overhead limit exceeded 的解决方案
    什么是OOM?如何解决OOM问题!
    老司机告诉你:别再被忽悠,汽车节气门这样洗最养车
    HDU 4352 XHXJ's LIS(数位dp&状态压缩)
    Linux bash: scp: command not found的问题记录
    Codeforces Round #315 (Div. 2)
    【营销】非常重要
    firebug的应用
    powerdesigner中实现PDM到MYSQl数据库的转换
  • 原文地址:https://www.cnblogs.com/lancky/p/2354983.html
Copyright © 2020-2023  润新知