[ARX]关于安全密码编程实现的问题
我想通过程序为当前图形数据库设置安全密码,代码如下:wchar_t *pwdBuf = pwd.AllocSysString();
CString csProvName = "Microsoft Base Cryptograghic Provider v1.0";
wchar_t *provName = csProvName.AllocSysString();
AcDbDatabase *pDb = acdbHostApplicationServices()->workingDatabase();
SecurityParams *secParams = new SecurityParams();
secParams->cbSize = 48;
secParams->ulFlags = 1;
secParams->ulProvType = 1;
secParams->ulAlgId = 26625;
secParams->ulKeyLength = 40;
secParams->wszPassword = pwdBuf;
secParams->wszProvName = provName;
bool ret = pDb->setSecurityParams( secParams );
delete secParams;
但每次setSecurityParams返回的总是false,不知道错在哪里?
然后当我打开一个已加密的DWG文件,使用
const SecurityParams *secParams = pDb->cloneSecurityParams();
bool ret = pDb->setSecurityParams( secParams );
返回的就是true,我仔细对比了一下两个SecurityParams的值,觉得并没有什么差异啊。为什么结果会不一样,盼高手能够解答?
谢谢!
页:
[1]