联系我们大型铝电解电容小微型铝电解电容贴片铝电解电容器聚合物铝电解电容器

品质诚信服务

当前位置:首页 >> 产品和行业资讯 >> 数据安全性非常重要,如何确保数据的有效性?常见嵌入式验证算法简介

数据安全性非常重要,如何确保数据的有效性?常见嵌入式验证算法简介

/ ***************今天与客户讨论技术要求时,我们谈到了数据的有效性。

客户要求必须对任何写入参数的数据进行验证。

验证算法可以是自检查的。

定义上,也可以遵循常用的算法。

验证的目的是防止误操作并始终确保数据的有效性。

今天,我将与您分享几种常用的验证算法。

重温一首老歌:“海浪”,黄品源我听到海浪的声音,站在城市的中心,我想起了我流泪的决心。

*************** / UART具有奇偶校验,CAN通信具有CRC检查。

诸如Modbus,MAVlink和USB之类的通信协议也具有验证信息。

定制数据存储时,经验丰富的工程师将添加某些验证信息。

您是否使用验证信息进行通信或数据存储?下面介绍几种常见的验证算法。

01 Checksum Checksum是嵌入式工程师最基本,最常用的验证算法。

实现方法非常简单,仅需几行代码。

有很多方法可以实现它。

不同的编程语言和不同的应用程序是不同的。

以C语言的八位数校验和为例:uint8_t CheckSum(uint8_t * Buf,uint8_t Len){uint8_t i = 0; uint8_t sum = 0; uint8_t校验和= 0; for(i = 0; i {sum + = * Buf ++;}} checksum = sum& 0xff; return checksum;}校验和的思想是在程序中添加数据,最后取低8位用0xff执行“&”操作是保持低位。

02 XOR检查“ XOR检查”类似于“校验和”,数据是“ XOR”,最后是“ XOR值”是uint8_t CheckXOR(uint8_t * Buf,uint8_t Len){uint8_t i = 0; uint8_t x = 0; for(i = 0; i {x = x ^(*(Buf + i)); return x;} checksum验证XOR和XOR的方法有很多种,例如,有些会传入参数作为XOR检查的值,当然,以上代码仅供参考,实际应用中需要根据实际情况进行修改。

项目情况03 CRC校验CRC是所谓的循环冗余校验,全称是Cyclic Redundancy Check。

CRC是数据通信领域最常用的错误校验码,其特点是是信息字段和校验字段的长度可以更改。

任意选择。

循环冗余校验(CRC)是一种数据传输错误检测功能,可对数据执行多项式计算,并将获得的结果附加到帧的背面。

接收设备还执行类似的算法,以确保数据传输Sex的正确性和完整性。

CRC有很多变体,例如:CRC-1,CRC-5-USB,CRC-8,CRC-16,CRC-32,CRC-64等。

其中,在嵌入式领域,CRC-16是使用更多。

常见的CRC参数模型:例如,在单片机上实现CRC16的源代码:uint8_t CRCTAB_H [256] = {/ *省略的表* /}; uint8_t CRCTAB_L [256] = {/ *省略了表格* /}; void CRC16(uint8_t * pData,uint8_t Len,uint8_t * CRC_H,uint8_t * CRC_L){uint8_t i; uint8_t索引; uint8_t crc_h = 0xFF; uint8_t crc_1 = 0xFF; for(i = 0; i {索引= crc_h ^ *(pData + crc_h = crc_l ^ CRCTAB_H [index]; crc_l = CRCTAB_L [index]; * CRC_H = crc_h; * CRC_L = crc_l;}还有在线计算CRC校验Internet上的价值和代码生成工具,有兴趣的读者可以自己了解它。

04 MD5算法MD5,即消息摘要算法,全名是消息摘要算法5。

这是从MD3和MD4开发的一种加密算法,主要是将文件的信息摘要收集到。

然后计算并加密。

通过MD5算法加密,文件可以获得唯一的MD5值,就像我们的指纹,以便通过文件的MD5值确定文件是否正确,密码加密后将生成MD5值,论坛通过MD5值验证用户密码是否正确MD5是一种算法输入可变长度信息并输出固定长度128-b它的。

程序完成后,将生成四个32位数据,最后将其合并为一个128位哈希。

基本方法是,询问余数,取余数,调整长度,并使用链接变量执行循环操作。

得出结论。

MD5源代码可以在Internet上找到,并且有不同的编程语言(C,C ++,JAVA)版本。

本文是在此处共享的,市场上有很多验证算法,如有必要,您可以了解更多。

这篇文章来自互联网。

追踪微信公众号“ Fun Zhuan Embedded”,回复“