怎样用C++/CLI编写一个保存文档文件时候对其加密,打开的时候又解密的程序?

如题所述

用向导新建托管c++的类库,即dll,在需要的地方包含非托管代码的头文件,在托管dll工程属性里面,链接-》输入中填入非托管dll的lib文件,无论是添加引用路径还是输入全路径,保证文件都能找到。然后再托管代码的导出函数里面调用非托管代码的函数就行了。将非托管dll考到输出目录就ok了。托管代码中有些地方可能还需要显示的非托管标记,以及什么允许非托管代码的什么设置之类的忘了怎么写了。

__declspec(dllexport) int fndlltest(void);//非托管函数

托管dll
include "dlltest.h"
using namespace System;
namespace cppdllDotNet {
public ref class Class1
{// TODO: 在此处添加此类的方法。
public: static void MyFun()};}

测试程序:
/ CLRCPPConsol.cpp: 主项目文件。
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
cppdllDotNet::Class1::MyFun();//!!!!
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-10
网上随便找一个加密算法。。保存前调用一次。。在保存。。
读取的时候,读取结束了。。过一次解密函数,在打印。
第2个回答  2011-06-14
你不是都做完了吗?追问

N天前的提问了

编写了一个文件,保存为了ANSI编码,再打开之后只有数字,文字全变成了...
这种情况一般是用不支持中文的编码去编码中文字符,例如ISO-8859-1 仅能编码非英文字符,所以非英文字符被其编码时会被转换为 0x3F(即?的 ASCII 编码),这时 编码已经真被转成不可逆的乱码了。之后无论用兼容 ASCII 的哪种编码方案解码还原出的字符串都是"?"。

使用C++\/CLI,也就是windows forms开发的应用程序能在裸机上运行么?
1.:不是只用C++的API方法和MFC变得程序可以在干净的WINDOWS下运行,但是C#,C++\/CLI,JAVA都得在系统下先装点东西 2.是的 3.需要有VB6的运行库文件,不过这个库文件大概现在所有的WINDOWS系统中都会自带 4.用JAVA等与系统无关的语言来写.

如何在c++\/CLI声明一个全局数组
全局的常量,直接在预编译头文件中定义就好了,比如:在系统的resourse.h头文件中定义你的全局常量;或者其他的必定会在启动的时候或者编译的时候加载的头文件中添加你的全局定义;\/\/ 在预编译的同文件中直接定义,凡是使用的话,直接加入这个头文件,就可访问;想要防止和别的定义冲突的话,可以加入nam...

visual c++中先编辑运行一个程序,关闭编写的文本框,再编一个,运行时...
初始时只有“确定”、“取消”两个按钮,当然,旁边还有一个工具箱,上面有很多其它的控件,需要的话你自己加,比如你想要两个框框输入数据,就可从工具箱中选“编辑框”,画两个就是。楼主希望按“确定”后,显示较大的数,则应该对着“确定”按右键,选“事件”,将相应的代码写在clicked事件里面,...

VC++.NET(2008)课程设计经典案例——基于C++\/CLI目录
第1部分是基础应用,包括:第1章介绍了Visual C++ 2008环境,阐述了.NET Framework和Visual C++.NET的基本概念,以及集成开发环境的创建、编辑、生成和设置解决方案的过程。第2章的记事本程序,展示了程序功能和设计方法,包括框架设计和代码实现。第3章的画图板,同样介绍了功能和设计,包括框架设计和代码...

windows7的dll 文件是什么
OLE 允许将程序创建的对象嵌入到另一个程序的文档或对象中. 例如. 将一个 Excel 表格嵌入到 Word 文档中. Windows 应用程序要经常用到OLE, 因此一般你是无法将其删除的 OLECLI32.DLL ... 对象链接和嵌入客户端库文件 OLECNV32.DLL ...Microsoft OLE for Windows oledlg.dll ...(Microsoft Windows(TM) ...

zend加密是如何域名的zend加密破解
解密ZEND加密的PHP文件: Zender,一个解密Zend加密php文件的工具,可以做到。 1.下载Dezender.zip 2.解压到磁盘,最好没有中文路径。比如解压到I:\\Dezender,修改I:\\dezender\\php5\\php.ini文件,修改里面的文件路径。 3.打开cmd命令行 然后你可以看到会有一个额外的文件名。de.php在文件目录下。 4.转到下面的I...

CLI CLR CTL的全称与作用分别是什么?
学习C++\/CLI的方法 在设计C++\/CLI语言中涉及三个方面问题,这同样贯彻于所有的其他程序开发语言:一是语言级的语法向底层通用类型系统(简称CTS)的映射;二是向程序开发人员提供的CLI的底层细节结构的级别选择;三是超越CLI的直接支持,提供额外的功能性函数的选择。 第一条对于所有的CLI语言来说都大致相同,第二条和...

C++\/CLI——想说爱你不容易
首先,其学习曲线陡峭,因为它是基于C++语法并增加了自己的特性,对开发者的要求较高,需要熟悉C++、.NET和非托管代码交互。此外,C++\/CLI的功能性和易用性相比C#有所欠缺,比如缺乏Closure支持和完整的LINQ支持,这在纯.NET开发中显得不便。社区资源匮乏也是其一大劣势,由于用户群体相对较小,相关的教程...

用Dev C++如何编写出Windows程序呢?
1、首先打开Dev C++软件,点击顶部的文件菜单,选择新建下面的项目选项。2、接下来在弹出的新建项目界面选择Windows Application选项,然后勾选C++选项。3、然后会弹出另存为界面,给项目起一个名字,选择类型为dev。4、在Dev C++中看到目录,这个代表Windows窗体应用基本结构已经创建好。5、打开main.cpp文件...

相似回答
大家正在搜