- 2
- 0
- 约2.15千字
- 约 3页
- 2023-10-17 发布于湖北
- 举报
第一步,我们需要在自己的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内容
您可能关注的文档
- 邮政物流实践.doc
- 《中国民间故事》阅读单.doc
- 规划管理验收申请表a.doc
- 建筑工程框架结构监理实施细则.pdf
- 山东省农村危房改造工程鉴定、验收、协议样式.doc
- 公路工程交工验收报告(严桥).doc
- 体育社会学课件第八章社会生活中的体育运动.ppt
- 游览苏州拙政园景点的个人观后感5篇.doc
- 装修工程竣工验收报告_12.doc
- 液压试验一完整版.doc
- 2026贵州遵义市凤冈农商银行招聘寒假实习生44人备考题库及答案详解(考点梳理).docx
- 2026福建漳州市平和县人民武装部招聘文员1人备考题库及答案详解一套.docx
- 中国社会科学院文化发展促进中心年鉴与院史工作部非事业编制人员招聘2人备考题库及1套完整答案详解.docx
- 2026西安银行总行科创金融相关岗位招聘备考题库精选答案详解.docx
- 2026西藏军区总医院从退役军官中专项招录文职人员备考题库精选答案详解.docx
- 2026甘肃陇东学院高层次人才招聘100人备考题库(第一期)完整参考答案详解.docx
- 2026湖南长沙市公安局出入境管理支队招聘普通雇员3人备考题库参考答案详解.docx
- 2026西北工业大学动力与能源学院叶轮机气热弹研究所招聘1人备考题库(陕西)及答案详解(易错题).docx
- 2026福建厦门市高崎出入境边防检查站招聘警务辅助人员30人备考题库及参考答案详解.docx
- 公司防暴指导员岗位应急处置安全规程.docx
最近下载
- 安徽医科大学2019-2020年护理专业《常用护理技术》期末试卷试题.docx VIP
- Q-CR-9265-2025 铁路隧道全工序机械化设计施工技术规程.pdf VIP
- 2026人教版小学五年级上册数学期末考试3套试卷(打印版含答案解析).docx
- (高清版)DB32∕T 3221-2017 乡村旅游集聚区建设指南.pdf VIP
- 《DZT 0225-2024浅层地热能勘查评价规范》专题研究报告.pptx
- 压力容器爆炸事故应急救援演练方案.docx
- 海申机电总厂卧螺离心机样本.pdf
- 秸秆饲料压块机设计.doc VIP
- 2024年陕西省中考数学真题试卷及答案解析(A卷).docx VIP
- 中药贴敷治疗癌痛.pptx VIP
原创力文档

文档评论(0)