哪里可以安全地存储vb.net中的敏感数据

时间:2012-01-22 07:37:01

标签: vb.net security rsa aes public-key-encryption

我有一个vb.net应用程序,它使用我的gmail smtp服务器设置和我的密码通过电子邮件向我发送用户反馈,(我不想向用户显示我的电子邮件)

问题是我想将这些数据安全地存储在vb.net应用程序中,这样任何黑客/破解者都很难通过(逆向工程或程序,如作弊引擎)来获取我的gmail帐户数据。

欢迎任何想法。

4 个答案:

答案 0 :(得分:4)

你不能100%安全,你可以将电子邮件存储在资源文件中并使用一个障碍物使得更难以获取字符串但是可以打破它(加密的资源文件和字符串)。但是,即使您使用了不同的电子邮件地址并设置了转发规则,该帐户的密码仍然可以被控制。任何你在代码中有权访问的黑客都可能会闯入,因为密钥在某些时候会以明文形式出现。

您有许多安全选项:

  1. 设置网络服务以接收您的消息并通过电子邮件发送给您/将其登录到数据库

  2. 将您的消息记录到第三方系统(irc?news?some p2p network,IM system),然后稍后选择消息。

  3. 为您的系统设置源代码管理/问题网站,google code / bitbucket /能够通过API接收问题的其他内容。

答案 1 :(得分:2)

我不知道这是否有意义,但我要做的是让程序运行一个发送邮件的外部PHP脚本。

答案 2 :(得分:1)

基本上,如果我理解您的问题,您不希望在.exe中以明文形式显示密码。正确的吗?

解决方案只是在程序中加密字符串,然后在运行时解密(将解密的变量传递给您的电子邮件功能)。

任何双向加密都可以。例如:

http://www.vbdotnetforums.com/security/1240-encrypt-password.html

答案 3 :(得分:0)

正如其他人指出的那样,在您的应用程序中将密码保存到您的电子邮件中是不安全的,因为有人可能能够破解您的代码并检索您的密码。 对于记录错误,我建议创建一个非常小的 PHP 脚本并将其放在 PHP 服务器上。当您的 VB.NET 应用程序发生错误时,该应用程序可以将数据发送到这个 .php 脚本。该脚本可以将数据保存在文件或 MySQL 数据库中。 将数据发送到 PHP 脚本所需的所有东西都可以在 VB.NET 的“System.Net.WebRequest”命名空间中找到。 如果您不能使用 PHP 脚本,您可以结合使用 IndependentStorage(“System.IO.IsolatedStorage”命名空间)和 Cryptography(“System.Security.Cryptography”命名空间)来保存敏感数据。但是,这对于精明的攻击者来说并不完全安全。