我需要将一个开关与一个if语句结合起来.
我怎样才能做到这一点?我想做这样的事情:
switch (periodtype)
{
if(starttime>endtime)
{
;
}
else
{
case 0: nextRunTime = nextRunTime.AddHours(period); break;
case 1: nextRunTime = nextRunTime.AddMinutes(period); break;
case 2: nextRunTime = nextRunTime.AddSeconds(period); break;
}
}
Run Code Online (Sandbox Code Playgroud) 我想将数组<Byte> ^转换为unsigned char*.我试图解释我做了什么.我不知道如何继续前进.请告诉我正确的方法.我正在使用MS VC 2005.
//Managed array
array<Byte>^ vPublicKey = vX509->GetPublicKey();
//Unmanaged array
unsigned char vUnmanagedPublicKey[MAX_PUBLIC_KEY_SIZE];
ZeroMemory(vUnmanagedPublicKey,MAX_PUBLIC_KEY_SIZE);
//MANAGED ARRAY to UNMANAGED ARRAY
// Initialize unmanged memory to hold the array.
vPublicKeySize = Marshal::SizeOf(vPublicKey[0]) * vPublicKey->Length;
IntPtr vPnt = Marshal::AllocHGlobal(vPublicKeySize);
// Copy the Managed array to unmanaged memory.
Marshal::Copy(vPublicKey,0,vPnt,vPublicKeySize);
Run Code Online (Sandbox Code Playgroud)
这里vPnt是一个数字.但是如何将数据从vPublicKey复制到vUnmanagedPublicKey.
谢谢
Raj
我们使用msxml4作为我们的安装程序的合并模块.我们成功地将它与Windows XP和Vista一起使用.但是,它会在Windows 7徽标测试中生成警告.测试用例3,成功发出警告"文件C:\ WINDOWS\SYSWOW64\MSXML4.DLL被写入错误的位置".
任何建议/想法,以避免这种警告?
在C#中,我能够通过以下任一方式对公钥进行哈希验证:
// Import from raw modulus and exponent
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) {
RSAParameters rsaKeyInfo = new RSAParameters {Modulus = modulus, Exponent = exponent};
rsa.ImportParameters(rsaKeyInfo);
return rsa.VerifyHash(hash, CryptoConfig.MapNameToOID("SHA512"), signature);
}
// Import from XML
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) {
rsa.FromXmlString(xmlPublicKey);
return rsa.VerifyHash(hash, CryptoConfig.MapNameToOID("SHA512"), signature);
}
Run Code Online (Sandbox Code Playgroud)
我需要知道的是,在给定入站RSA公钥的情况下,如何使用CAPI完成同样的事情?
除了了解如何将公钥导入加密提供程序的上下文之外,我还有大多数验证哈希所需的CAPI函数:
HCRYPTPROV hCryptProv;
HCRYPTHASH hHash;
CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0);
CryptCreateHash(hCryptProv, CALG_SHA512, 0, 0, &hHash);
CryptHashData(hHash, pDataToHash, lenDataToHash, 0);
CryptVerifySignature(hHash, pSignature, sigLength, NULL, CRYPT_NOHASHOID);
CryptDestroyHash(hHash);
CryptReleaseContext(hCryptProv, 0);
Run Code Online (Sandbox Code Playgroud)
谢谢!
cryptography ×2
.net ×1
c# ×1
c++-cli ×1
cryptoapi ×1
if-statement ×1
interop ×1
logo-testing ×1
mscapi ×1
public-key ×1
rsa ×1
windows-7 ×1