问题描述
是用来计算MAC码的C++中函数定义如下:ZDLL_APIvoid__stdcallCountMac(unsignedchar*key,unsignedchar*inittext,unsignedchar*Source,unsignedintle,unsignedchar*destin);
其中参数:key:密钥16字节inittext:初始值16字节Source:需加密的数据le:加密数据的长度destin:加密后的结果4字节我在C#中的调用如下:[DllImport("ZDLL.dll")]privatestaticexternvoidCountMac(stringkey,stringinittext,stringsource,uintlen,StringBuilderdestin);
但是算出来的结果就是不对请高手指教一下C#中调用的时候方法怎么定义主要是参数类型
解决方案
解决方案二:
自己已解决、如下:[DllImport("ZDLL.dll")]privatestaticexternvoidCountMac([MarshalAs(UnmanagedType.LPArray)]byte[]key,[MarshalAs(UnmanagedType.LPArray)]byte[]inittext,[MarshalAs(UnmanagedType.LPArray)]byte[]source,uintle,[MarshalAs(UnmanagedType.LPArray)]byte[]destin);
时间: 2024-10-31 22:59:26