- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一步,我们需要在自己的VC 环境下把相应的库文件配置好,以保证链接的时候不会出现找不到相应函数的错误,这里首先必须把out32dll目下的libeay32.dll文件拷贝至System32系统目录下,再在创建好的工程里项目:设置:链接选项中保证Object/library Moduls中添加进libeay32.lib库文件,此步完成好以后,免去了链接过程中可能发生的很多错误!
?? 第二步,在建立的工程文件中,新建一个源文件(.cpp/.c),把目录crypto/des下的des.c源文件直接复制过去,比如我自己的工程文件建立目录为:D:\opensslDemo\destest,此时你会发现此目录下会新增你建立的新文件(des.c),文件头前部分可以如我以下所示:
?#include stdio.h#include stdlib.h#include string.h#include math.h#include io.h#include time.h#include sys/types.h#include sys/stat.h#include opensslconf.h#include des.h#include? rand.h#include? ui_compat.h。。。。。。
?由于我的目录没有进行设置,所以,需要的头文件统统用 表示而不是用来表示,需要把目录inc12/openssl下所有的文件都拷贝至你建立的工程目录下,同时我引用中没有的头文件可从des目录下寻找到,同样拷贝至工程目录下,比如我的D:\opensslDemo\destest下面,好了,开始编译调试,你会发现系统提示你所有的头文件均找不到,一个一个来吧,点击错误发生的地方,把原来的文件包含的语句比如:
? #include openssl/des.h统统改成 #include des.h,这里需要有点耐心,大约有二三十个地方需要修改!之后,编译应该可以通过,但是链接会出现两个错误,提示方法:DES_3cbc_encrypt 无法解析,我也是查找文件des.h发现没有提供相应方法,只好把其改为方法:DES_ncbc_encrypt,该方法需要六个参数,而前者需要八个!所有,在程序中就必须有三处需要改动,如下:
?? 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:\opensslDemo\destest\debug,你发现有可执行文件,我的为:destest.exe,好了,下面咱们试试结果如何?
? 输入命令:destest -E plain.txt? mydes.des? ,文件plain.txt内容
您可能关注的文档
最近下载
- ZJ70-4500D20石油钻机使用说(2022年-2023年)明书.docx VIP
- 2023-2024学年人教版高中信息技术必修一第二章第一节《解决问题的一般过程和用计算机解决问题》教案.docx VIP
- GB7258—2022机动车运行安全技术条件修订内容解读29.pdf
- 医学装备使用安全培训.pptx
- Unit6单元整体设计人教版九年级英语全册.pdf
- 中考数学轨迹问题集锦69739.doc VIP
- 2024年河北省继续医学教育公共必修课参考答案.pdf VIP
- 驾校学员心理调节精编.ppt
- 自考06269工程应用英语(13-19)真题试卷.doc VIP
- 智能农业传感器监测和优化农作物生长环境.pptx
文档评论(0)