jjzjj

c# - DPAPI 会自动执行 Dynamic Salt 吗?

我正在考虑使用Windows的数据保护API(DPAPI)来加密一些数据。我的一个要求是在加密值时使用动态盐。我通过测试注意到,如果我多次加密同一个字符串,我会得到不同的结果。这是使用相同的字符串、空熵值和相同的范围。这让我感觉好像已经包含了动态盐。我没有看到任何说明这一点的文档。这是我调用的方法https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.protecteddata.protect?view=netframework-4.7.2.DPAPI是否已经处理动态加盐?如果不是,是什么导致加

windows - 有没有比 Windows DPAPI 更安全的方法来保护和存储密码?

有没有比WindowsDPAPI更安全的方式来保护和存储密码?我的程序需要存储一个secret(类似于凭据)以在Windows上进行自动登录,并且这个secret必须与其他用户帐户共享,因为该程序可以在不同帐户上运行但共享凭据。我需要保护这个secret不被篡改,以避免攻击者注入(inject)他自己的凭据并取得控制权。如果攻击者具有物理访问权限,我知道我们无能为力,但是......目前,存储和保护此secret的最佳方法是什么? 最佳答案 如果您想保护某些内容免受篡改,您最好采用多级方法。这样做的缺点是获得访问权限(即使有所有se

c# - ASP.NET Core 2.1 中的数据保护仅适用于一台机器

我正在使用ASP.NETCoreDataProtectionsystem使用应用程序A加密数据并使用应用程序B解密数据。在开发机器上运行时,加密和解密都可以工作,但是当应用程序B移动到生产机器时,它不再能够解密,因为IDataProtector.Unprotect方法抛出异常:System.InvalidOperationException:Thekeyringdoesnotcontainavaliddefaultprotectionkey.Thedataprotectionsystemcannotcreateanewkeybecauseauto-generationofkeysisd

c# - c#中的数据加密和 key 管理

走哪条路,有什么优缺点,哪个更安全..1)生成AESkey,用它加密数据,然后用RSA加密AESkey,将加密后的数据和加密的AESkey保存到一个文件中,并将RSAkey对保存到一个KeyContainer中。2)或者使用DPAPIProtectedData类来加密数据并将其保存到文件中,然后将我在ProtectedData.Protect()中使用的熵存储到某个地方..(也许也加密它使用RSA,将RSAkey对存储到KeyContainer并将加密的熵存储到包含数据的文件中?)编辑:仅供了解更多信息:我们需要保护我们的应用程序文件系统使用。因此,应用程序存储到文件系统的任何文件我们

c# - ProtectedData.Protect (DPAPI) 有多安全?

假设有人可以访问我的所有硬盘,我猜弱点就是我的Windows密码。在不知道/无法检索的情况下,数据应该非常安全,不是吗?我特地询问是因为EFSentry在维基百科中指出InWindows2000,thelocaladministratoristhedefaultDataRecoveryAgent,capableofdecryptingallfilesencryptedwithEFSbyanylocaluser.而EFS恰好使用了DPAPI。这同样适用于我自己使用此保护的数据:ProtectedData.Protect(plain,null,DataProtectionScope.Cur

c# - 为什么我在使用 DPAPI 加密时得到不同的输出?

我在C++中使用DPAPI来加密我需要存储在文件中的一些数据。问题是我需要从C#读取该文件,所以我需要能够:C++加密,C++解密(运行良好)C#加密,C#解密(运行良好)C++加密,C#解密,反之亦然(不工作)在C#中,我使用DllImport来pInvoke方法CryptProtectData和CryptUnprotectData,并按照说明实现它们here.我知道在C#中,我可以使用ProtectedData类中包含的方法,但我正在以这种方式(使用DllImport)进行操作,以确保两种代码(c++和c#)的外观和工作方式几乎相同。现在奇怪的是,即使两个代码看起来一样,我也会得到

iphone - IOS 中的钥匙串(keychain)可以与 Windows 中的 DPAPI 进行比较吗?

在iOS上,我正在寻找与Windows上可用的加密/解密DPAPI函数等效的API(未设置CRYPTPROTECT_LOCAL_MACHINE标志)。目标是在本地保留一些应用程序数据,并使其访问仅限于应用程序本身。我读过有关钥匙串(keychain)功能的信息,但该词典似乎具有用户级访问权限(在智能手机登录期间解锁)。我希望该应用程序是唯一可以访问该信息的应用程序,例如,通常拥有自己的钥匙串(keychain)。对此有什么建议吗? 最佳答案 在iOS中,一个应用无法访问另一个应用的钥匙串(keychain)条目。原则上,就好像每个应

windows - DPAPI:在用户登录前使用 CryptUnprotect

我正在使用DPAPI来存储XML数据。CryptProtectData之后的数据存储在一个文件中。在我的一个用例中,需要在任何用户登录到工作站之前解密此数据。因为,我不能在这里使用用户特定的key,所以我在加密时设置了标志“CRYPTPROTECT_LOCAL_MACHINE”。熵键是一个静态文本。Unprotect在所有情况下都有效,除非我在登录前调用它(没有用户登录)。返回错误87(参数不正确)。我重新阅读了整个DPAPI文档以了解key是如何生成的。但是,不幸的是,对于这个特定的标志,没有足够的信息。CryptUnprotectData在这种情况下是否有效?它可以被在某些用户se

python - 在 Python 中使用 DPAPI?

有没有办法通过Python在WindowsXP上使用DPAPI(数据保护应用程序编程接口(interface))?如果有可以做到的模块,我宁愿使用现有的模块。不幸的是,我无法通过Google或StackOverflow找到解决方法。编辑:我采用了“dF”指向的示例代码并将其调整为一个独立的库,可以简单地在高级别使用,以在用户模式下使用DPAPI进行加密和解密.只需调用返回加密字符串的dpapi.cryptData(text_to_encrypt),或返回纯文本的反向decryptData(encrypted_data_string)。这是图书馆:#DPAPIaccesslibrary#