精易论坛

标题: 火山API调用问题求助 [打印本页]

作者: 绯陌如夏    时间: 2023-2-20 13:22
标题: 火山API调用问题求助
在易的源码中遇到问题,我想在火山中也实现这样的功能.关于API调用方面的.单纯求解,感激不尽



补充内容 (2023-2-20 14:31):
源码在8楼

测试.e

152.26 KB, 下载次数: 11


作者: 大司命    时间: 2023-2-20 13:22


main.zip (12.64 KB, 下载次数: 7)

作者: 绯陌如夏    时间: 2023-2-20 13:25
很精短的源码,就是三个API的调用,在易中可以运行,在火山中我搞了好久,可能是我功底不够.
作者: 绯陌如夏    时间: 2023-2-20 13:29
说白了就是这个问题,主要涉及到自定义结构,这个API和火山都是64位的

  
DLL命令名返回值类型公开备 注
CryptProtectData整数型 
DLL库文件名:
crypt32.dll
在DLL库中对应命令名:
CryptProtectData
参数名类 型传址数组备 注
pDataInBlob
szDataDescr字节集
Entrophy整数型
pvReserved整数型
pPromptStruct整数型
dwFlags整数型
pDataOutBlob


作者: 揰掵佲    时间: 2023-2-20 13:39
火山直接内嵌C++的代码即可
[C++] 纯文本查看 复制代码
// Encrypt data from DATA_BLOB DataIn to DATA_BLOB DataOut.

//--------------------------------------------------------------------
// Declare and initialize variables.

DATA_BLOB DataIn;
DATA_BLOB DataOut;
BYTE *pbDataInput =(BYTE *)"Hello world of data protection.";
DWORD cbDataInput = strlen((char *)pbDataInput)+1;

//--------------------------------------------------------------------
// Initialize the DataIn structure.

DataIn.pbData = pbDataInput;   
DataIn.cbData = cbDataInput;

//--------------------------------------------------------------------
//  Begin protect phase. Note that the encryption key is created
//  by the function and is not passed.

if(CryptProtectData(
     &DataIn,
     L"This is the description string.", // A description string
                                         // to be included with the
                                         // encrypted data.
     NULL,                               // Optional entropy not used.
     NULL,                               // Reserved.
     NULL,                               // Pass NULL for the
                                         // prompt structure.
     0,
     &DataOut))
{
     printf("The encryption phase worked.\n");
     LocalFree(DataOut.pbData);
}
else
{
    printf("Encryption error using CryptProtectData.\n");
    exit(1);
}


作者: 绯陌如夏    时间: 2023-2-20 13:50
揰掵佲 发表于 2023-2-20 13:39
火山直接内嵌C++的代码即可[mw_shl_code=cpp,true]// Encrypt data from DATA_BLOB DataIn to DATA_BLOB Da ...

我还不会嵌入啊,这些复制进去一大片报错
作者: 绯陌如夏    时间: 2023-2-20 13:51
揰掵佲 发表于 2023-2-20 13:39
火山直接内嵌C++的代码即可[mw_shl_code=cpp,true]// Encrypt data from DATA_BLOB DataIn to DATA_BLOB Da ...

大佬能不能麻烦你帮我写个例子,我研究两天了.真的一点头绪都没有.我还搜不到相关例程
作者: 绯陌如夏    时间: 2023-2-20 14:21
易语言和火山源码都在这里,不涉及任何支持库和模块.

新建文件夹 3.zip

39.73 KB, 下载次数: 7


作者: 大司命    时间: 2023-2-20 14:33


作者: 绯陌如夏    时间: 2023-2-20 14:35
大司命 发表于 2023-2-20 14:33

源码在二楼,你可以帮我一下吗,牵扯的问题越来越多了
作者: 大司命    时间: 2023-2-20 14:43


作者: 绯陌如夏    时间: 2023-2-20 14:50
大司命 发表于 2023-2-20 14:43

大哥你可以把文件发给我吗,我有点懵.我真的不是伸手党,关键是你发的这个我实在是看不懂啊

补充内容 (2023-2-20 14:51):
我只能说除了那个512我一个都没看明白............




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4