2023年12月18日发(作者:)
第一步,我们需要在自己的VC 环境下把相应的库文件配置好,以保证链接的时候不会出现找不到相应函数的错误,这里首先必须把out32dll目下的文件拷贝至System32系统目录下,再在创建好的工程里项目:设置:链接选项中保证Object/library
Moduls中添加进库文件,此步完成好以后,免去了链接过程中可能发生的很多错误!
第二步,在建立的工程文件中,新建一个源文件(.cpp/.c),把目录crypto/des下的des.c源文件直接复制过去,比如我自己的工程文件建立目录为:D:opensslDemodestest,此时你会发现此目录下会新增你建立的新文件(des.c),文件头前部分可以如我以下所示:
#include
#include
#include
#include
#include
#include
#include
#include
#include "opensslconf.h"
#include "des.h"
#include "rand.h"
#include "ui_compat.h"。。。。。。
由于我的目录没有进行设置,所以,需要的头文件统统用" "表示而不是用<>来表示,需要把目录inc12/openssl下所有的文件都拷贝至你建立的工程目录下,同时我引用中没有的头文件可从des目录下寻找到,同样拷贝至工程目录下,比如我的D:opensslDemodestest下面,好了,开始编译调试,你会发现系统提示你所有的头文件均找不到,一个一个来吧,点击错误发生的地方,把原来的文件包含的语句比如:
#include
1. /*void DES_3cbc_encrypt(DES_cblock *input,DES_cblock *output,long length,
DES_key_schedule sk1,DES_key_schedule sk2,
DES_cblock *ivec1,DES_cblock *ivec2,int enc);*/ //原始代码,之后是修改代码
void DES_ncbc_encrypt(const unsigned char *input,unsigned char *output,
long length,DES_key_schedule *schedule,DES_cblock *ivec,
int enc);
2. //DES_3cbc_encrypt(
DES_ncbc_encrypt(
//(DES_cblock *)buf,(DES_cblock *)obuf,
//(long)l,ks,ks2,&iv,
// &iv2,do_encrypt);
( unsigned char *)buf,( unsigned char *)obuf,
(long)l,&ks,&iv,
do_encrypt); //注意注释掉的都是原来代码
3. //DES_3cbc_encrypt(
DES_ncbc_encrypt(
//(DES_cblock *)buf,(DES_cblock *)obuf,
//(long)l,ks,ks2,&iv,
//&iv2,do_encrypt);
( unsigned char *)buf,( unsigned char *)obuf,
(long)l,&ks,&iv,
do_encrypt);
如果有参数不匹配,系统会报错,根据错误给出正确的参数类型!
再进行编译,链接,你会发现OK,生成了可执行代码!
第三步,转到命令模式下,进入你建立的工程目录,至D:opensslDemodestestdebug,你发现有可执行文件,我的为:,好了,下面咱们试试结果如何?
输入命令:destest -E ,文件内容为:name,结果是得到一个新文件,.
了一个应用程序而高兴?
解密为: destest -D 同样可以恢复到原始文件,怎么样?是否为自己生成


发布评论