随笔分类 - 程序相关
pkcs#5和pkcs#7填充的区别
摘要:最近做到了关于加密和解密的部分。使用算法AES的时候,涉及到数据填充的部分,数据的填充有很多种方案,用的比较多的有pkcs#5,pkcs#7,下面的都是从网上转来的。结论就是在AES 的使用中,pkcs#5填充和pkcs#7填充没有任何区别。 PKCS #7 填充字符...
阅读全文
使用openssl库实现RSA、AES数据加密
摘要:openssl是可以很方便加密解密的库,可以使用它来对需要在网络中传输的数据加密。可以使用非对称加密:公钥加密,私钥解密。openssl提供了对RSA的支持,但RSA存在计算效率低的问题,所以一般的做法是使用对称密钥加密数据,然后再把这个只在当前有效的临时生成的对称密...
阅读全文
openssl之aes加密(源码分析 AES_encrypt 与 AES_cbc_encrypt ,加密模式)
摘要:首先要了解AES加密是什么,以及几种加密模式的区别。之后才是编程。具体的编程案例,在下面的链接。openssl之aes加密(AES_cbc_encrypt 与 AES_encrypt 的编程案例)下面这个链接有详细图解。http://www.cnblogs.com/a...
阅读全文
从12306谈起验证码的架构
摘要:最近和众屌丝一样,在12306上面刷着春节回家的票。与她大战无数个回合之后,终于抢到了一张回家的高铁票,不断感慨最近人品还不错。当前,在使用12306的过程中,充满很多的心酸,念叨了铁道部的亲人很多次(罪过),其中最让人纠结的一项即是:验证码。 12306采用...
阅读全文
C++语言的url encode 和decode
摘要:std::string UrlEncode(const std::string& szToEncode){ std::string src = szToEncode; char hex[] = "0123456789ABCDEF"; string dst; for (...
阅读全文
ICE实现服务器客户端
摘要:本文将结合实际项目,做一个基于ice的实际项目实例应用,该实例完成客户端调用服务端接口完成消息发送,计算的功能。1,创建java项目ICEServer,导入ice.jar.2,在项目下创建slice文件夹,编写model.ice,service.ice,service...
阅读全文
ICE:slice语言常识整理
摘要:ICE:Slice语言(二)--源文件和词法规则: 文件命名 Slice的源文件以.ice为扩展名。 对于大小写不区分的系统(例如DOS),文件的扩展名可以大写,也可以小写,例如Click.ICE是有效的。二对于大小写敏感的系统(如Unix),Clock.ICE是...
阅读全文
GPS两点的距离
摘要:目前手头的一个项目要用到GPS地理定位信息,很自然的就需要知道两个地点之间的距离,于是上网找了一下,同样自然的就有一些算法贴出来。。(网络真是帮了大忙,省得我再去翻几何书自己研究算法了!公式早都忘光了。)算法如下:(我已经把它转换为C++代码)namespace gp...
阅读全文
经纬度 距离,角度 计算另一点经纬度
摘要:将距离换算成经纬度,有误差。 //将相对于起点的距离转换为经纬度,distance代表到点的距离,angle代表方位角度 private string ConvertDistanceToLogLat(float distance,...
阅读全文
boost::function和boost:bind取代虚函数
摘要:以boost::function和boost:bind取代虚函数 这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上去就下不来了”,而借助boost::function和boost::bind,大多数情况下,你都不用上贼船。boost::function和...
阅读全文
boost split字符串
摘要:boost split string , which is very convenience #include #include #include #include #include int _tmain(int argc, _TCHAR* argv[]){ std:...
阅读全文
C++文件读写详解(ofstream,ifstream,fstream)
摘要:目录(?)[-]状态标志符的验证Verification of state flags获得和设置流指针get and put stream pointers二进制文件缓存和同步Buffers and Synchronization在看C++编程思想中,每个练习基本都是...
阅读全文
C++ Boost 库文档索引
摘要:C++ Boost 库文档索引1 按字母顺序库列表2 按主题库列表2.0 字符串和文本处理( String and text processing)2.1 容器(Containers)2.2 迭代器(Iterators)2.3 算法( Algorithms )2.4 ...
阅读全文
完美编译运行PCRE on Windows , Solved the __imp__pcre_exec __imp__pcre_compile __imp__pcre_free Errors
摘要:写写英文吧,好长时间不写都有点不熟练了when I compile the following codes which test the pcre , I got the unreferenced error __imp__pcre_exec __imp__pcre_...
阅读全文
pcrecpp高级使用
摘要:昨天简单介绍了一下pcrecpp的使用,常用的匹配函数包括FullMatch和PartilaMatch等,FullMatch和PartilaMatch对于捕获参数的个数都有限制,最多能传16个捕获参数。而且不能够根据模式中的捕获情况动态设定捕获参数。查看了一个pcre...
阅读全文
windows平台cl.exe编译pcre 8.13
摘要:最近在windows平台开发的一个project需要使用正则表达式,当然自己实现一个regexp也是可以的,只是太蛋疼且技术不到家。所以我优先考虑了open source的library,pcre是比较有名的库,在linux编译都是普通的套路,不过在win下面就稍微麻...
阅读全文
__gnu_cxx::hash_map使用中的一些问题
摘要:[STL] __gnu_cxx::hash_map使用中的一些问题,今天看《libstdc++ manual 20110201》中提到这个hash_map是为了向后兼容SGI/HP的代码,但是已经被废弃了,取而代之的是C++0x中的unordered_map/unor...
阅读全文
stringstream的用法
摘要:使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学...
阅读全文
C语言宏定义时#(井号)和##(双井号)的用法
摘要:#在英语里面叫做 pound在C语言的宏定义中,一个#表示字符串化;两个#代表concatenate在宏定义中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),即无论后面的宏变量是字符串还是常量,都当成字符来处理。 而## 被称为连接符(c...
阅读全文
volatile语义及线程安全singleton模式探讨
摘要:作者:Scott Meyers and Andrei Alexandrescu 译者: ChengHuige at gmail.com1.引言 详尽的讨论了volatile语义以及如何用C++实现线程安全的Singleton模式。 主要参考Scott Meyers...
阅读全文
浙公网安备 33010602011771号