首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加密以保护文件不受更改

加密以保护文件不受更改
EN

Stack Overflow用户
提问于 2009-07-04 15:16:53
回答 4查看 288关注 0票数 1

我最近一直在读一些关于加密的文章,我对保护许可证文件不被篡改很感兴趣。现在,这可能不是最好的方法,在这种情况下,我对建议持开放态度。但我想要保护它的一种方法是简单地加密它。

然而,如果我使用加密,我将需要使用对称密钥,但这提出了一个问题。如果我在源码中存储一个key,使用诸如reflector这样的工具,它真的值得吗?获取初始化向量、盐、密钥等并因此破解加密似乎是一项相当微不足道的任务。有没有办法保护源码中的密钥?或者这是完全错误的方法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-04 15:38:19

如果你想防止篡改,你需要签名/散列,而不是加密。类似的理论-但这意味着你可以用应用程序中的公钥对文件进行验证,而不需要你保存在服务器上的私钥(并用来颁发许可证)。

搜索加密散列/签名。

票数 8
EN

Stack Overflow用户

发布于 2009-07-04 15:25:15

系统客户端上的任何内容都可能受到威胁。

如果你加密你的文件,你也必须以某种方式在你的程序中放置解密密钥。任何拥有十六进制编辑器的人都可以通过你的代码找到这个密钥,然后解密你的许可证文件,还可以为你的系统创建密钥。

互联网激活将是一个很好的方法,但我会看看你是否可以找到第三方来为你做这件事,因为他们已经在这些道路上走了。

也就是说,通过一些AES 256加密来运行您的许可文件不会有什么坏处:)。

票数 1
EN

Stack Overflow用户

发布于 2009-07-04 15:26:03

如果您正在谈论MS/.NET环境,我推荐您使用DPAPI。它是一种API,用于存储受密码保护的数据。然后你可以问我“但是我也有同样的问题”,答案是否定的,因为在这个场景中,你使用用户密码来保护你的数据。因此,要访问您的数据,您必须使用特定的凭据运行您的应用程序。在MS环境下,它是最好的解决方案。

从文档中:

DPAPI专注于为用户提供数据保护。因为它需要密码来提供保护,所以逻辑步骤是让DPAPI使用用户的登录密码,在某种程度上,它确实这样做了。DPAPI实际上使用用户的登录凭据。在用户使用密码登录的典型系统中,登录凭据只是用户密码的哈希。然而,在用户使用智能卡登录的系统中,凭证将是不同的。为简单起见,我们将使用术语user password、logon password或仅password来引用此凭据。

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

https://stackoverflow.com/questions/1082386

复制
相关文章

相似问题

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