硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1808|回复: 2
收起左侧

[其它] MD5算法不能被打断吗?

[复制链接]

98

主题

340

回帖

634

积分

金牌会员

积分
634
发表于 2018-7-12 23:17:28 | 显示全部楼层 |阅读模式
程序中用MD5算法加密一个十几个字节的字符串,反复测试没问题,结果都是一样的。但是加密一个180K的程序文件的时候,发现每次结果都不一样,后来把加密函数放在一进main函数就执行,结果就正常了,统计了一下时间,加密一次约23ms。
MD5算法是移植网友成熟的算法,应该没问题,跑的UCOS系统,难道计算MD5期间不能被打断?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106974
QQ
发表于 2018-7-13 00:52:01 | 显示全部楼层
在任务里面关闭中断测试是否正常。

另外看看是不是任务栈小了。
回复

使用道具 举报

98

主题

340

回帖

634

积分

金牌会员

积分
634
 楼主| 发表于 2018-7-13 12:06:08 | 显示全部楼层
eric2013 发表于 2018-7-13 00:52
在任务里面关闭中断测试是否正常。

另外看看是不是任务栈小了。

果然是堆栈开小了,MD5有个地方申请了一个256字节的局部变量数组,任务堆栈总大小才128字节,把这个局部变量换成动态内存就没问题了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 15:11 , Processed in 0.149706 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表