Métodos de verificación para la verificación de datos
Método de implementación: la verificación más simple es comparar directamente los datos originales y los datos a comparar para ver si son exactamente iguales. Este método es el más seguro y preciso. También es el menos eficiente.
Ejemplo de aplicación: herramienta de depuración online de Dragon Ball CPU bbug.exe. Cuando se comunica con la CPU de Longzhu, bbug envía un byte y la CPU devuelve el byte recibido. Bbug confirma que acaba de enviar el byte antes de continuar enviando el siguiente byte. Método de implementación: durante el almacenamiento y la transmisión de datos, se agrega un bit adicional al byte para detectar errores. El dígito de control se puede calcular aplicando una operación XOR a los bits de datos.
Ejemplo de aplicación: un modo de comunicación del puerto serie del microcontrolador es la comunicación de datos de 8 bits, con un noveno bit adicional utilizado para poner el valor de verificación.
Método de verificación bcc XOR (carácter de verificación de bloque)
Método de implementación: muchas comunicaciones basadas en puerto serie utilizan este método simple y bastante preciso. Realiza XOR todos los datos con un valor inicial específico (generalmente 0), y el resultado final es el valor de verificación, que generalmente se adjunta al final de los datos de comunicación y se envía. Después de que el receptor recibe los datos, también calcula el XOR y el valor de verificación. Si es consistente con el valor de verificación recibido, significa que los datos recibidos están completos.
El código para calcular el valor de verificación es similar a:
unsigned uCRC=0 //Verifica el valor inicial
for(int i=0; i< DataLenth;i++) uCRC^=Data[i];
Ámbito de aplicación: Adecuado para la mayoría de las comunicaciones de datos con bajos requisitos.
Ejemplos de aplicación: se utilizan la comunicación de interfaz de tarjeta IC y la comunicación de puerto serie de muchos sistemas de microcontroladores. (Verificación de redundancia cíclica)
Método de implementación: utiliza el principio de división y resto para la detección de errores. Si se divide, significa que la transmisión es correcta. se divide por completo, indica que hay un error en la transmisión. El verificador CRC también tiene capacidades de corrección automática de errores.
Hay dos métodos principales para la prueba CRC: método de cálculo y método de búsqueda de tabla. Hay muchos códigos de implementación en Internet.
Ámbito de aplicación: los códigos CRC-12 se utilizan generalmente para transmitir cadenas de caracteres de 6 bits; los códigos CRC-16 y CRC-CCITT se utilizan para transmitir caracteres de 8 bits. CRC-32: datos del disco duro, transmisión de red, etc.
Ejemplos de aplicación: rar, chip de tarjeta Ethernet, chip decodificador MPEG Método de implementación: principalmente algoritmos md5 y des.
Ámbito de aplicación: ocasiones en las que los datos son relativamente grandes o los requisitos son relativamente altos. Por ejemplo, md5 se usa para verificar grandes cantidades de datos y archivos, y des se usa para verificar datos confidenciales (firma digital), etc.
Ejemplos de aplicación: verificación de archivos, datos de transacciones del sistema bancario