c# - 在应用程序中实现本地密码

标签 c# .net authentication passwords

背景: 我有一个为客户制作的 c# .net 应用程序。该应用程序没有网络通信。事实上,运行它的计算机可能没有任何互联网或网络访问权限。

我们的客户提出了一个非常具体且不可协商的要求:

在打开某些屏幕并授予某些权限之前请求管理密码。此密码必须在应用程序中。默认密码(我可能将其设置为“密码”)必须是可变的,因此不能硬编码。并且应该有某种方法可以恢复默认设置,以防他们忘记密码。

在应用程序文件夹中的文件中粘贴加密密码对我来说似乎有点多余。任何删除文件的人都会删除密码。

是否有一些广为人知的策略?

同样,密码是本地密码,未在任何网络上进行身份验证。

最佳答案

也许将其隐藏在注册表中?如果注册表项不存在,则只需重新制作它并将其设置为默认密码。对默认密码进行硬编码,可能是加密的或其他方式,因此扫描 .exe 的人无法找到它。还要询问您的客户默认密码应该是什么,而不是简单地设置一个。
问题是,只要您在本地存储一些东西,每个真正想知道它的人,都会找到获取它的方法。 :/

关于c# - 在应用程序中实现本地密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6011896/

相关文章:

c# - CSS 文件绝对 URL 在本地机器上不起作用

c# - 如何在 Linq 中将数据与日期分组

c# - 我们不能为不同的类使用相同名称的扩展方法吗?

c# - 是否可以在没有 UWP 的情况下使用 .NET Native?

.net - 每个控件都有一个单独的ErrorProvider是否有问题?

javascript - LinkedIn:Javascript token 并在服务器中验证用户

c# - WPF - ToString 的 Raise 属性已更改

c# - VB 到 C# 转换 DateAndTime 等效

Python 请求 : how do I check if a user already logged in or not?

authentication - JBoss Wildfly - 针对 LDAP 的 Web 应用程序身份验证