在做STM32F407的程序加密时common_code和encrypt_code内容相同

2019-07-14 14:05发布



我想通过ID加密程序,思路如下:
程序有一个通用密码,存放在数组const char common_code[]={0x30,0x39, 0x18, 0xbb, 0x5a, 0xdd}。
程序的本机密码存储在const unsigned char encrypt_code[FLASH_SECTOR3_SIZE] __attribute__((at(ADDR_FLASH_SECTOR_3))) ={...}。
【注:程序下载进去时,common_code和encrypt_code内容相同。】

1.上电后,读取芯片ID,用ID计算出本机对应的密码my_code[]。
2.如果本机密码encrypt_code和通用密码common_code相同,则将my_code[]存储到encrypt_code[]数组。
3.如果不相同,则对比encrypt_code和my_code。如果相同则校验正确,正常运行程序;否则校验失败,擦除FLASH中的应用程序。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。