积极答复者
请问,我需要在源代码放置一个密码,请问有什么方法可以保护它?

问题
答案
-
方法一:将密码加密后记录在源代码里。然后需要的时候进行解密。流程如下:
1.使用RSA等非对称加密算法产生一对公私钥对。公钥为pub,私钥为priv
2.随机生成一个密码p。此密码就是与服务器交互使用的密码。
3.用priv加密p,得到pw。该pw可以写在源代码里。
4.pub也写在源代码里或者作为一个文件随程序一起。
5.需要使用密码的时候,用pub解密从代码里得到的pw,解密的p就是与服务器通信的密码。
方法二:附带一个文件,密码藏在该文件中。但是不是连续的藏在某个位置。而是东一个字节西一个字节,位置信息存储在源代码里。需要使用密码的时候根据存储的位置信息组合出密码来。
方法三:结合方法一和方法二。
将公钥藏在附带的文件中。获取公钥的方法也是东一个字节位置西一个字节位置。这样增加了破解难度。
- 已建议为答案 Yong LuMicrosoft contingent staff, Moderator 2017年9月26日 2:00
- 已标记为答案 liubin 2017年10月10日 4:37
-
Hi liubin,最简单的方法将这个密码通过加简单的加密方法保存。然后运行的时候解析。
C# 常用加密解密帮助类:
http://www.cnblogs.com/weiweixiang/p/5619415.html复杂一点使用非对称密钥加密(Asymmetric Key Encryption):非对称密钥加密使用一组公共/私人密钥系统,加密时使用一种密钥,解密时使用另一种密钥。公共密钥可以广泛的共享和透露。当需要用加密方式向服务器外部传送数据时,这种加密方式更方便。如: RSA
c#rsa 非对称加密:
http://blog.csdn.net/zghnpdswyp/article/details/49763201
C#实现RSA加密与解密、签名与认证:
http://blog.csdn.net/u010678947/article/details/48652875
注意:此回复包含对第三方万维网站点的引用。 微软正在为您提供这方面的信息。 Microsoft不控制这些网站,并没有测试这些网站上发现的任何软件或信息; 因此,Microsoft不能对在那里发现的任何软件或信息的质量,安全性或适用性做任何陈述。 使用互联网上发现的任何软件都存在固有的危险,微软警告您确保在从因特网检索任何软件之前,您完全了解风险。Best Regards,
Yohann Lu
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 liubin 2017年10月10日 4:37
全部回复
-
Hi liubin,最简单的方法将这个密码通过加简单的加密方法保存。然后运行的时候解析。
C# 常用加密解密帮助类:
http://www.cnblogs.com/weiweixiang/p/5619415.html复杂一点使用非对称密钥加密(Asymmetric Key Encryption):非对称密钥加密使用一组公共/私人密钥系统,加密时使用一种密钥,解密时使用另一种密钥。公共密钥可以广泛的共享和透露。当需要用加密方式向服务器外部传送数据时,这种加密方式更方便。如: RSA
c#rsa 非对称加密:
http://blog.csdn.net/zghnpdswyp/article/details/49763201
C#实现RSA加密与解密、签名与认证:
http://blog.csdn.net/u010678947/article/details/48652875
注意:此回复包含对第三方万维网站点的引用。 微软正在为您提供这方面的信息。 Microsoft不控制这些网站,并没有测试这些网站上发现的任何软件或信息; 因此,Microsoft不能对在那里发现的任何软件或信息的质量,安全性或适用性做任何陈述。 使用互联网上发现的任何软件都存在固有的危险,微软警告您确保在从因特网检索任何软件之前,您完全了解风险。Best Regards,
Yohann Lu
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- 已标记为答案 liubin 2017年10月10日 4:37
-
Hi liubin,
那你可以考虑尝试非对称密钥加密(Asymmetric Key Encryption) 去实现你的加密。
如果还是不能满足你的需求,请尝试考虑其他方案(不要把敏感信息放在别人可以破解的文件中)。
Best Regards,
Yohann Lu
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com. -
方法一:将密码加密后记录在源代码里。然后需要的时候进行解密。流程如下:
1.使用RSA等非对称加密算法产生一对公私钥对。公钥为pub,私钥为priv
2.随机生成一个密码p。此密码就是与服务器交互使用的密码。
3.用priv加密p,得到pw。该pw可以写在源代码里。
4.pub也写在源代码里或者作为一个文件随程序一起。
5.需要使用密码的时候,用pub解密从代码里得到的pw,解密的p就是与服务器通信的密码。
方法二:附带一个文件,密码藏在该文件中。但是不是连续的藏在某个位置。而是东一个字节西一个字节,位置信息存储在源代码里。需要使用密码的时候根据存储的位置信息组合出密码来。
方法三:结合方法一和方法二。
将公钥藏在附带的文件中。获取公钥的方法也是东一个字节位置西一个字节位置。这样增加了破解难度。
- 已建议为答案 Yong LuMicrosoft contingent staff, Moderator 2017年9月26日 2:00
- 已标记为答案 liubin 2017年10月10日 4:37