首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证AES解密是否成功?

如何验证AES解密是否成功?
EN

Stack Overflow用户
提问于 2017-05-25 13:25:15
回答 2查看 1.4K关注 0票数 0

我正在开发一个本地文件加密/解密软件(AES-256 CBC),我想验证解密是否成功。

因此,我决定添加一个普通数据的附加MD5哈希,并将其加密到一起,在解密时,计算解密数据的MD5哈希(上一次附加MD5哈希除外),并将其与最后附加的MD5哈希进行比较。

我想知道这个想法是否安全。

这是个坏主意吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-25 13:39:52

您也可以使用MAC验证您的解密。MAC和Hash代码的主要区别是概念上的。散列用于保证数据的完整性,MAC保证完整性和身份验证。

这意味着在没有任何外部输入的情况下,从消息中盲目地生成哈希码:您获得的是一些可以用来检查消息在传递过程中是否有任何更改的东西。

MAC使用私钥作为生成代码时使用的哈希函数的种子:这应该确保接收方不仅消息没有被修改,而且发送消息的人也是我们所期望的:否则攻击者无法知道用于生成代码的私钥。

代码语言:javascript
复制
Cryptographic primitive | Hash |    MAC    | Digital
Security Goal           |      |           | signature
------------------------+------+-----------+-------------
Integrity               |  Yes |    Yes    |   Yes
Authentication          |  No  |    Yes    |   Yes
Non-repudiation         |  No  |    No     |   Yes
------------------------+------+-----------+-------------
Kind of keys            | none | symmetric | asymmetric
                        |      |    keys   |    keys
票数 5
EN

Stack Overflow用户

发布于 2017-05-25 13:44:23

我在许多帖子中看到,MD5不再安全了,但是,您将它用作校验和,而不是会话id或密码哈希。如果对MD5的攻击并不是因为它在加密代码中,并且没有用作密码哈希、会话id或类似的攻击,那么我认为您可以使用它,但是如果您想在安全方面更改SHA-2摘要的MD5。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44181766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档