ctf_process.c 765 B

12345678910111213141516171819202122232425262728
  1. #include "ctf_process.h"
  2. //读取认证信息
  3. void Read_Ctf_Info(MC_ErrorCode_Struct_t* p_ErrorCode)
  4. {
  5. //计算授权码
  6. unsigned char OutputCode[12];
  7. CheckCodeCal((unsigned char*)MC_CheckInfo.MAC_ID, (unsigned char*)Secret_Key, OutputCode);
  8. //比较结果
  9. if(strncmp((char*)OutputCode, (char*)MC_CheckInfo.CheckCode, 12) == 0)
  10. {
  11. p_ErrorCode->ERROR_Bit.Fault_MC_Check = 0;
  12. }
  13. else
  14. {
  15. p_ErrorCode->ERROR_Bit.Fault_MC_Check = 1;
  16. }
  17. }
  18. //授权信息计算和存储
  19. void Ctf_CalAndSave(void)
  20. {
  21. CheckCodeCal((unsigned char*)MC_CheckInfo.MAC_ID, (unsigned char*)Secret_Key, MC_CheckInfo.CheckCode);
  22. SaveParamToEEprom_24C02(&I2C_Handle_EEPROM, EEPROM_24C02_ADDR_CHECKCODE, sizeof(MC_CheckInfo.CheckCode), MC_CheckInfo.CheckCode);
  23. MC_ErrorCode.ERROR_Bit.Fault_MC_Check = 0;
  24. }