如何计算固件的 md5 校验和?

How to calculate md5 checksum of a firmware?

我正在研究微控制器。我必须检查加载的固件是真正的固件。为此,我必须计算加载固件的 MD5 校验和。但是这个动作有一个问题。 MD5 校验和得到 4 个 32 位输入并给出 4 个 32 位输出。我如何计算整个固件的校验和。当我尝试计算时,输出与真实固件的大小相同并且浪费了太多 RAM。是否有任何可能的方法来获得一个输出计算固件的 MD5 校验和,即 4 个 32 位?

简单的方法:https://www.st.com/en/embedded-software/stm32-cryp-lib.html#overview

困难的方法:https://github.com/mikeferguson/stm32/blob/master/libraries/lwip/src/netif/ppp/md5.c

两者都有效