Mat*_*iel 6 .net encryption cryptography
我们有
Dim cp As New CspParameters()
cp.KeyContainerName = ContainerName
cp.Flags = CspProviderFlags.UseMachineKeyStore
Run Code Online (Sandbox Code Playgroud)
如果ContainerName的密钥不存在,如何确保不创建新密钥?
试试这个:
public static bool DoesKeyExists(string containerName)
{
var cspParams = new CspParameters
{
Flags = CspProviderFlags.UseExistingKey,
KeyContainerName = containerName
};
try
{
var provider = new RSACryptoServiceProvider(cspParams);
}
catch (Exception e)
{
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用
.PersistKeyInCsp = false
Run Code Online (Sandbox Code Playgroud)
在您的加密提供商上,这将确保密钥不会留在容器中。你是这个意思吗?