为了保障工业物联网设备采集数据的完整性,提出一种HMAC算法的通用硬件结构,并在此结构基础上,以资源复用的方式将SM3和SHA256算法与HMAC算法集成,实现同一块电路支持SM3、SHA256、HMAC-SM3和HMAC-SHA256四种算法。仿真结果显示,在10 MHz时钟频率下,吞吐率最高可达39.3 Mbps。FPGA实现结果表明,相对于单独实现四种算法,逻辑资源缩减53.3%,仅需占用3 530个逻辑单元(Logic Element)和2 240 bit的存储资源。