我正在尝试计算闪存中大块的 SHA256哈希、但它始终会使器件崩溃。 因此我开始实验、当您尝试散列大于512字节的数据而不是64字节的倍数时、似乎会崩溃
以下简化代码会导致器件崩溃和重新启动。
SHA2_Params 参数; SHA2_Handle handle; SHA2_Params_init (¶ms); params.returnBehavior = SHA2_return_Behavie_blocking; SHA2_open (0、 params); SHA2_setHashType (handle、SHA2_hash_type_256); uint8_t buffer1[512]; uint8_t buffer2[19]; SHA2_addData (handle、(unsigned char *) buffer1、512); SHA2_addData (handle、(unsigned char *) buffer2、19); SHA2_finalize (handle、digest);
如果我删除 buffer2、则一切都正常、并计算哈希值
如果我将缓冲区2的长度更改为64字节、那么它也会起作用。
如果我删除 buffer1并且只删除哈希缓冲区2、那么它也会起作用
