zoukankan      html  css  js  c++  java
  • 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校验吧

  • 相关阅读:
    as3关于正则表达式的那些事
    Flex中使用ArrayCollection的注意事项
    flash资源优化技巧
    测试版权信息
    PHP解密Unicode及Escape加密字符串函数
    php foreach
    硅谷黑暗面:房价过高、政治斗争和岗位侵略
    菜鸟网络股权分配:阿里巴巴占51%的股份
    vue 数据导入加载样式
    CSS文字过多设置省略号
  • 原文地址:https://www.cnblogs.com/lancky/p/2354983.html
Copyright © 2011-2022 走看看