gpt4 book ai didi

c# - 为一个 Windows 用户生成唯一 key

转载 作者:行者123 更新时间:2023-11-30 23:17:37 29 4
gpt4 key购买 nike

我有一个带有 ASP.NET Web API 服务器的 WPF 客户端。我想为使用客户端的任何特定 Windows 用户生成一个唯一 key ,以便 Web API 可以阻止该用户的多次登录尝试。我首先考虑只使用:

Environment.UserDomainName + "\" + Environment.UserName

但这对许多用户来说可能是一样的。我不想包含机器名称,因为我想跟踪该用户使用的任何机器。如何使用 UserDomainName + "\"+ Environment.UserName 组合下的客户端应用程序为一个特定的 Windows 用户创建唯一 key ,无论他们在哪台机器上使用它?

注意: key 应该被证明不会被用户更改,这样用户更改他们的 key 以防止被锁定会使 key 无效。没有本地数据库,所以目前 key 存储在用户主目录下的用户设置文件中。但是,文件存储在哪里并不重要,他们机器上的任何管理员都可以访问它,作为家庭用户,他们通常自己也是管理员。

最佳答案

您可以使用 GUID 系统,以及类似的东西:

key = Guid.NewGuid() + "\\" + Environment.UserDomainName + "\\" + Environment.UserName;

一个问题是,重新生成相同 GUID 的可能性非常小,为防止这种情况发生,您可以将所有“使用过的”GUID 存储在列表/字典中,并在出现任何重复时重新生成一个。

关于c# - 为一个 Windows 用户生成唯一 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41339233/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com