stm32的id是32*3=96位,即三个32位,id1,id2和id3。
如何无分支比较呢?
答案是采用菜农独创的CRC32可逆函数,在21ic里有下载。https://bbs.21ic.com/icview-3335824-1-1.html
可以将id1,id2,id3作为CRC32的poly,init,xorout,令output=0,调用逆函数CRC32Valx(0,id1,id2,id3)得到一个非零的数id123。
这个是注册机的事情。
然后程序运行时,调用CRC32正运算CRC32Val(id123,id1,id2,id3)结果必然恒为零!!!
这就是CRC无分支同时判断三个参数对否的真谛!!!
周一写个注册机和验证程序
|