头文件中定义了:
extern void deskey(unsigned char *, short);在C编译器中调试如下,并通过
char str[]="tianshan";
deskey("0123456789abcdef",EN0);//第一个参数是key 第二个是字定义的加密解密的宏
des(str, str);
puts("加密后");
puts(str);
puts("解密后");
deskey("0123456789abcdef",DE1);
des(str, str);
puts(str);
des()没有返回值,如何封装供C#调用呢? 调用怎么接收str呢?
extern void deskey(unsigned char *, short);在C编译器中调试如下,并通过
char str[]="tianshan";
deskey("0123456789abcdef",EN0);//第一个参数是key 第二个是字定义的加密解密的宏
des(str, str);
puts("加密后");
puts(str);
puts("解密后");
deskey("0123456789abcdef",DE1);
des(str, str);
puts(str);
des()没有返回值,如何封装供C#调用呢? 调用怎么接收str呢?
解决方案 »
- 如何实现窗体内多个重复的一组功能?
- 如何对checkedListBox实现SHIFT和CTRL多选功能
- 关于SendMessage
- 麻烦高手解释下C#一个简单的应用,菜鸟翘首~~~
- 关于编译后文件支持的一个问题!!!!!!!!!!!!!!!@##^#%$#!@$@#$@#$!@#!@#!%$#@%$
- 帮帮忙列!?!密码问题!!我还是搞不出来....头发都掉光了
- 问大家一个很简单,也很搞笑的按钮问题.
- 有关windows程序数据传输的问题!
- 前几天csdn上有个朋友(三楼楼长)给大家提供的那套OA谁调试成功了,大家交流交流
- C#跟QQ一样有消息过来就闪烁怎么做的饿啊
- C#如何获取磁盘容量和已用大小
- 请教语法:() => MyReadingChanged(e)
extern static void deskey(out string value, short i);
extern "C" __declspec(dllexport) void des(unsigned char *, unsigned char *);//后一个参数是加密后的数据C#中
[DllImport("wdll.dll", EntryPoint = "deskey", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void deskey(string key, short mode);
[DllImport("wdll.dll", EntryPoint = "des", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void des(string str, out string value); //这里怎么报错呢
public static extern void des(string str, StringBuilder value); public static string DES(string str)
{
StringBuilder sb = new StringBuilder(256);
des(str, sb);
return sb.ToString();
}