要点提示
当前例程使用的是赛孚耐信息技术公司的加密狗产品,购买时会附带有开发手册与光盘,例程根目录带有加密狗的三个文件safenet软件狗开发商手册.pdf,softdog.h,RGDLW32V.OBJ;
加密狗API提供有两个函数;
unsigned long WriteDog(void),unsigned long ReadDog(void);
WriteDog()执行成功返回0,此函数通过三个全局变量传递数据void * DogData, short int DogBytes,DogAddr,DogBytes为向加密狗写入的数据长度, DogData为向加密狗写入的数据,DogAddr为加密狗写入数据的起始位置;
ReadDog()用于读取加密狗中的加密数据,执行成功返回0;
在注意的是开发时得将softdog.h,RGDLW32V.OBJ复制到工程根目录,且载入两文件到工程中;
实现功能
1.新建基于对话框的应用程序
2.将例程根目录的两文件softdog.h,RGDLW32V.OBJ,复制到自己工程根目录,并将RGDLW32V.OBJ载入到工程中;
3.在APP源文件定义变量short int DogBytes, DogAddr;
void * DogData; 在主对话框头文件 添加头文件及变量申明
#include "softdog.h"
extern short int DogBytes;
extern short int DogAddr;
extern void * DogData;
4.添加编辑框IDC_EDIT1,两按钮<向加密狗写入 加密数据><从加密狗读取 加密密钥>关联点击函数,实现加密狗的读写操作
void CGkbc8Dlg::OnWrite()
{
CString sData;
GetDlgItemText(IDC_EDIT1,sData);
if (sData.IsEmpty())
return;
DogAddr = 10; //设置起始地址
DogBytes = sData.GetLength(); //设置数据的长度
DogData = sData.GetBuffer(0); //设置写入的数据