首页 / 知识
关于安全性:如何在Winforms应用程序中存储密码?
2023-04-14 00:32:00

How to store passwords in Winforms application?我在一个winforms应用程序中编写了这样的代码,用来查询用户的邮箱存储配额。
无论我尝试什么方法(如 我知道我可以将此代码放在服务器上,或者使用诸如委派之类的机制加强安全性,并且只给服务帐户所需的特权。 有人能在不向黑客透露密码的情况下,建议一种合理安全的方法在本地应用程序中存储密码吗? 散列是不可能的,因为我需要知道确切的密码(不只是为了匹配目的的散列)。加密/解密机制不起作用,因为它们依赖于计算机。 认证方法是使用CryptoAPI和数据保护API。 要加密,使用像这样的东西(C++):
解密是相反的:
号 如果您没有指定cryptProtect本地计算机,那么加密的密码可以安全地存储在注册表或配置文件中,只有您可以对其进行解密。如果您指定了本地机器,那么任何有权访问该机器的人都可以得到它。 如前所述,数据保护API是一种很好的方法。请注意,如果您使用的是.NET 2.0或更高版本,则不需要使用p/invoke来调用dpapi。框架使用System.Security.Cryptography.ProtectedData类包装调用。 我找到了这本书,作者是KeithBrown,.NET开发人员的Windows安全指南。它有一些很好的示例,涵盖了各种安全场景。还提供免费的在线版本。 如果您将其存储为安全字符串并将安全字符串保存到文件(可能使用独立存储),那么只有在您解密它以创建mbstore时才会有纯文本密码。不幸的是,构造函数不接受SecureString或凭据对象。 |
最新内容
相关内容
linux打命令输入密码?
linux打命令输入密码?,密码,系统,状态,代码,管理,标的,位置,地址,名称,命令,Linux用户命令行登录时输入密码,你看不见输入的状态,连点都不显示linux下用户权限命令?
linux下用户权限命令?,管理,系统,密码,地址,权限,时间,基础,信息,基本知识,工作,Linux用户以及权限相关常用命令总结sudo和su类似,有一些附加的linux登陆用户命令?
linux登陆用户命令?,系统,工具,信息,地址,软件,工作,命令,数字,服务,名称,Linux常用基本命令大全介绍linux常用命令:pwd命令该命令的英文解释为linux用户名改名命令?
linux用户名改名命令?,系统,密码,命令,代码,名称,用户名,用户,终端,主机名,文件,linux下命令怎么修改用户名1、Linux系统中用户切换的命令为sulinux查询分辨率命令?
linux查询分辨率命令?,情况,设备,系统,分辨率,数据,命令,屏幕,屏幕分辨率,桌面,终端,linux下怎么通过命令改分辨率1、使用xrandr查询,带“*”的linux用户分组命令?
linux用户分组命令?,系统,命令,电脑,信息,时间,标准,资料,用户,文件,用户组,Linux命令行操作之sedsed命令行格式为:sed [-nefri] ‘command’linux命令查询汉语?
linux命令查询汉语?,工作,地址,系统,信息,命令,目录,标准,状态,软件,亚洲,基本linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux命令改用户所属?
linux命令改用户所属?,系统,文件,名称,用户组,命令,用户,名录,基本知识,所有者,终端,linux修改用户属组命令1、打开自己的linux系统。接着打开linux系统用户组命令?
linux系统用户组命令?,系统,管理,密码,代码,用户组,用户,命令,邮箱,电脑,名称,Linux命令之用户组管理在Linux中,用户组是一种将一组用户聚合在linux用户管理的命令?
linux用户管理的命令?,系统,管理,信息,地址,工作,用户,单位,基础,数据,命令,Linux系统下用户以及权限管理1、第一类:root(超级管理员),UID为0,这个linux命令行更新密码?
linux命令行更新密码?,密码,系统,名称,软件,信息,环境,命令,使用者,权限,用户,linux中怎么用管理员修改用户的密码1、目录方法1:知道当前root密linux登录改密码命令?
linux登录改密码命令?,密码,系统,名称,软件,状态,服务,信息,策略,环境,命令,修改linux用户密码1、命令:passwd [-k] [-l] [-u [-f]] [-d] [-S]