VS2008下LibTomCrypt 1.17的编译和使用《转》
文章出处:http://blog.csdn.net/delphiwcdj/article/details/6298820
具体步骤如下:
(1) 下载tomcrypt
tomcrypt 1.17 VS2008+intel C++工程
http://d.download.csdn.net/down/1783339/jackyjkchen
crypt-1.17.rar (11.03 MB) 源代码
http://www.hackchina.com/cont/118501
Tomcrypt 1.16 and manual
http://download.csdn.net/source/981828
(2) 编译tomcrypt
用VS2008编译tomcrypt 1.17 (第一个下载),然后生成 crypt_s.dll 和 crypt_s.lib 文件。
(3) 在自己的工程中使用tomcrypt
在我们自己的工程中,将 crypt_s.dll 和 crypt_s.lib 文件 分别添加到我们的工程中:
1) 将crypt_s.dll文件直接放在debug目录下,即和工程所生成的可执行文件放在一起。
2) 将crypt_s.lib加入到工程中,方法有三种,这里使用通过代码的方式加入。
3) 将所需要的头文件包含到当前工程中,工程上右键->属性->配置属性->C/C++->附加包含目录
4) 修改编译器设置,工程上右键->属性->配置属性->C/C++->代码生成->运行库,设置为:多线程 DLL (/MD),否则会提示:编译可以通过,但是运行报“找不到MSVCR90.dll”的错误。
(4) 测试:AES加密
/*
下面的程序实现的功能:
将字符串c1用AES方法加密放在c2中,再解密放在c3中,密钥是myKey
*/
#include "tomcrypt.h"
#pragma comment (lib,"crypt_s.lib")
int main(int argc, char* argv[])
{
unsigned char myKey[]= ""; // 加密密钥
symmetric_key skey; // 加密状态 aes_setup(myKey, , , &skey);
// 加密前初始化状态(密钥,密钥长度,迭代次数(0: 使用推荐值),加密状态) unsigned char c1[]="csdn"; // 需要加密的字符串长度任意
unsigned char c2[];
// 输出长度>= 输入长度,分段长度的倍数(这里就是16的倍数) // 分段加密,每段长度为16 (一般不可能只有2段,自己写循环)
aes_ecb_encrypt(&c1[], &c2[],&skey);
aes_ecb_encrypt(&c1[], &c2[],&skey); unsigned char c3[];
aes_setup(myKey, , , &skey);
// 解密前初始化状态,其实和加密的状态是完全一致的 // 分段解密
aes_ecb_decrypt(&c2[], &c3[],&skey);
aes_ecb_decrypt(&c2[], &c3[],&skey);
return ;
}
参考:
调用DLL有两种方法:静态调用和动态调用
http://www.cnblogs.com/c1230v/articles/1401448.html
找不到MSVCR90.dll、Debug vs Release及cppLapack
http://hi.baidu.com/wpzhao/blog/item/72dc08f77ce9be2a730eeca7.html
https://blog.csdn.net/lan120576664/article/details/46045831
VS2008下LibTomCrypt 1.17的编译和使用《转》的更多相关文章
- Windows7+VS2008 下编译Subversion 1.8.3
一.需要的软件包 1.python-2.7.5.msi http://www.python.org/ 2.ActivePerl-5.8.8.822-MSWin32-x86-280952.msi h ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- Windows下使用Visual Studio 2010编译ffmpeg全过程
在visual studio 2010中调用ffmpeg http://blog.sina.com.cn/s/blog_4178f4bf01018wqh.html Windows下使用Visual S ...
- Linux下搭建 Cocos2d-x-2.1.4 编译环境
[tonyfield 2013.09.04 ] 参考 Linux下搭建 Cocos2d-x-2.1.4 编译环境 导入 HelloCpp 例程 1. Java 入口 HelloCpp.java Hel ...
- 用C写一个web服务器(三) Linux下用GCC进行项目编译
.container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .conta ...
- 配置 Windows 下的 nodejs C++ 模块编译环境 安装 node-gyp
配置 Windows 下的 nodejs C++ 模块编译环境 根据 node-gyp 指示的 Windows 编译环境说明, 简单一句话就是 "Python + VC++ 编译环境&quo ...
- ubuntu16.04下笔记本自带摄像头编译运行PTAM
ubuntu16.04下笔记本自带摄像头编译运行PTAM 转载请注明链接:https://i.cnblogs.com/EditPosts.aspx?postid=9014147 个人邮箱:feifan ...
- 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...
随机推荐
- PyQt5入门
PyQt5 是用来创建Python GUI应用程序的工具包.作为一个跨平台的工具包,PyQt可以在所有主流操作系统上运行(Unix,Windows,Mac). 本文描述Windows系统下如何安装Py ...
- LAMP环境搭建基本步骤
LAMP环境搭建基本步骤 参考链接https://yq.aliyun.com/articles/106387 apache性能优化.配置https://my.oschina.net/lockupme/ ...
- 数据分析常用shell命令
目录 0.vim编辑器 1.awk命令(重要) 1.1 基本语法 1.2 基本用法 1.3 运算符 1.4 内建变量 1.5 其他 1.6 awk是一门变成语言,支持条件判断.数组.循环等功能.所以我 ...
- 2019-2020-1 20199301《Linux内核原理与分析》第六周作业
第五章 系统调用的三层机制(下) 1.给MenuOS增加命令 代码如下: rm -rf menu git clone http://github.com/mengning/menu.git make ...
- linux 小常识
背景: 在工具中遇到一些linux相关的问题,解决后做个笔记记录下来,后续遇到就不用 在查来查去了 1. 启动地址配置 127.0.0.1 和 0.0.0.0 区别 127.0.0.1 地址只能对本机 ...
- Linux安装版本solr-5.3.0
准备材料:solr-5.3.0.tgz 下载路径:http://mirrors.hust.edu.cn/apache/lucene/solr/ 安装solr 1.解压solr [root@svn-se ...
- 域渗透:IPC$ 命名管道
介绍:IPC$(Internet Process Connection) 是共享 " 命名管道 " 的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接 ...
- 洛谷 P1140 相似基因 题解
每日一题 day23 打卡 Analysis dp[i][j]表示序列A中前i个与序列B中前j个匹配的相似度最大值 所以,dp方程很容易想到: 1.让a[i]与b[j]匹配 2.让a[i]与B序列中一 ...
- Linux LVM--三种Logic Volume
本文链接:https://blog.csdn.net/u012299594/article/details/84551722 概述 为了满足在性能和冗余等方面的需求,LVM支持了下面三种Logic V ...
- html 摄像头画面水平翻转
<video onloadedmetadata="" id="inputVideo" autoplay muted playsinline>< ...