我试图使用 < a href=> http://msdn.microsoft.com/en-us/library/windows/desktop/aa380882%28v=vs.85%29.aspx> >CryptUnprotectedData 来解密 WEP 配置文件的密钥。 我获取配置文件密钥的方式是使用 netsh 导出配置文件 。
netsh wlan export profile name="MyWEP" folder="./"
目前,我手动将 Netsh 命令生成的.xml 文件的关键材料复制到我的程序。 我解密的方式是:
DATA_BLOB DataOut, DataVerify;
DataOut.cbData = encryptData.length();
DataOut.pbData = (BYTE*)("I_Manually_Copy_The_WEP_Key_Here");
if (CryptUnprotectData( &DataOut,
NULL,
NULL,
NULL,
NULL,
0,
&DataVerify))
{
printf("The decrypted data is: %s
", DataVerify.pbData);
}
else
{
printf("Failed. Error Code: %d", GetLastError());
}
但我正在得到错误代码 <%% 13 strong> 引用无效数据。 我做错了什么? 在 Win 7 和 之后, 我可以直接使用 < a href=" http://msdn. microsoft.com/ en- us/library/ windows/ desktop/ms706738%28vs. 85%29.aspx" 。 但是, 我可以直接使用 < strong > > 13 < / strong > 引用无效数据 。 在 WlanGetProfile < Profile < / a/ attawrelessdk/thread_PROFILE_GET_ get_KEY gEY > / greaINT_ get_KEY gEY > /strong > 。 但是, 但我可以直接使用 < strong > NO < v/ Vista > /strong > 而不是使用 CryptD.
PS:我已经在Windows桌面SDK论坛上张贴了同样的问题, 但还没有得到回应。尝试在 SO 上我运气好 。