我想创建一个加密软件,我想知道黑客可以找到加密文件的密码吗?
答案 0 :(得分:9)
简短的回答是:如果有值得的奖励,那么拥有足够资源的人就可以破解它。
不要创建自己的算法。我再说一遍,不要创建自己的。
使用现有的库。数百万人已经开始尽可能难以打破,除非你有学习如何创造它们的教育兴趣,否则我强烈建议你重新考虑并使用现成的包装。
随着破解者拥有许多先进的工具,你出现的任何算法很容易被打破。
我重申不要创建自己的。
请参阅此问题以获取更多信息。 What techniques do you use when writing your own cryptography methods?
答案 1 :(得分:1)
由于您使用的是C#,可能是的。任何人都可以通过Reflector查看.NET应用程序的源代码。使用它,可以对加密算法进行反向工程。
如果您打算使用其他语言,请说一些不易反编译的语言。体面的破解者可以调试你的程序,并通过调试来研究加密的完成方式。所以,答案仍然是肯定的。
如果您要使用C#或任何.NET语言,请使用混淆器对代码进行模糊处理。
答案 2 :(得分:0)
是。他可以:
您需要设计自己的软件及其使用方式,使其尽可能地变硬。并非所有上述内容都可以通过软件解决。
答案 3 :(得分:0)
首先,查看加密实际意味着什么。有很多可能来加密{file,string,data,whatever}。一个重要的问题是:您的数据什么时候变得无效?如果它在一周后不再使用,那么你不需要强加密,也许你可以从头开始写东西。如果它在两年后仍然必须加密(未加密,未加密),你应该使用像RSA这样的加密技术,它具有数学基础,因此在一个可以通过让黑客获得优势的时候被证明是不可动摇的。访问您的数据。
我的回答是基于这两个事实:除非破解者能够访问由数千台主机或量子计算机组成的网络,否则RSA应该可以解决问题。
和平