关于md5 加密算法的困惑。

tangshuinet 2011-04-25 02:13:58
对密文A进行加密,用Key,IV,密文A 通过md5加密后,生成加密密文B。

将B放到license.txt文件中后,解密的时候,我需要key,iv及license.txt,解密后,跟密文A进行比较,如果相等那么通过,如果不等则不通过。

我的问题是:一般解密dll都是发到客户端给客户使用的,如果客户反编译我的代码,他就能知道key,iv,然后通过密文license.txt,他自己就能解密得到明文A,然后根据明文A,iv,及客户端Key(mac地址等),不就可以破译我的密码了吗?
...全文
135 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dangong123 2011-04-25
  • 打赏
  • 举报
回复
LZ一直在说解密什么的,都说了MD5是不能解密的,比如你字段aaa用MD5加密之后为AAA,传过去,人家比较的就是他的字段用MD5加密后是不是AAA,一样的话说明加密前的字段是一样的,因为MD5加密之后的字段都是不重复的(当然现在好像有个女博士找到了个查找重复MD5代码的算法)
tangshuinet 2011-04-25
  • 打赏
  • 举报
回复
在客户端运行 不就需要在客户端解密吗? 用webserivice一旦用户不能上网或者远程服务down掉不就不能用了吗
chinadoweb 2011-04-25
  • 打赏
  • 举报
回复
解密dll为什么要给客户端,用web service解密再返回给客户端不就行了。
tangshuinet 2011-04-25
  • 打赏
  • 举报
回复
我程序处理是这样的: 程序只有一个明文,客户端要使用,需要将他的Mac地址给我,我有一个密码加密器,就是根据md5算法,将明文,客户端mac,然后自定义一个IV,生成密文,保存成license.txt发给客户端。

在程序中加载时候,读取license文件,然后读取客户端mac,然后用自定义的Iv解密,这样就能得到明文。

这样处理,是否合理?
Icedmilk 2011-04-25
  • 打赏
  • 举报
回复
比较的是md5加密后的字符
tangshuinet 2011-04-25
  • 打赏
  • 举报
回复
哪解密后 是不是要跟明文做比较?
脾气不坏 2011-04-25
  • 打赏
  • 举报
回复
恩 是的 MD5是不可逆的
但是不排除暴力破解 有一部分明文(特别是比较简单的)还是有可能破解的
如果是重要数据 建议不要单纯的只用MD5加密 可以进一步处理下
至于DLL破解 可以考虑下代码混淆 听说还是容易破解 但是总比没的强
zzyhuian06142 2011-04-25
  • 打赏
  • 举报
回复
其实你既然都用MD5来加密了,人家知道不知道你的密码又有什么关系呢,就算知道他也看不懂原文是什么啊

你这样做最多只能确定原文是否有被修改过而已
tangshuinet 2011-04-25
  • 打赏
  • 举报
回复
不知道 是否理解错误。
tangshuinet 2011-04-25
  • 打赏
  • 举报
回复
就好比是这样的,在客户端,解密后 得到字符串 string aaa = 解密字符串

if(aaa == "明文")
通过
else
不通过。

这样的话,通过反编译,不就可以得到明文? 都不用解密。
tangshuinet 2011-04-25
  • 打赏
  • 举报
回复
我的意思,我解密后,不是需要跟明文A进行比较吗?
zzyhuian06142 2011-04-25
  • 打赏
  • 举报
回复
",他自己就能解密得到明文A"这是不可能的,就目前的技术来说MD5加密是不可逆的,所以这个不是你该担心的
Icedmilk 2011-04-25
  • 打赏
  • 举报
回复
md5加密是不可逆的啊

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧