摘要: 随着自己参加的面试的增多,这里我也想分享一下自己面试的经历,主要是怕遗忘和以后吸取教训,同时给网友分享一下:对一个数组随机打乱: linux下实现从U盘拷贝复制以文件到指定的目录下求回文数(回文数指其各位数字左右对称 如12321等) 1 Ispalindrome(int n) 2 { 3 int k; 4 k = n; 5 iny m =0; 6 while(k) 7 { 8 m = m*0+k%10; 9 k = k/10; 10 }11 return (m==n);12 }字符串的比较(字典顺序)1... 阅读全文
posted @ 2013-06-02 20:54 朗孖 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 仿射密码简介: 仿射密码和移位密码一样, 也是一种替换密码. 不同的是, 移位密码中, 我们使用的是模n加; 而在下面的仿射密码中, 我们使用的上一节中介绍的模n乘. 在安全性方面, 仿射密码同移位密码一样, 都是极其差的, 不仅因为他们的原理简单, 更要命的是这两种替换密码没有隐藏明文的字频信息, 这很容易导致破解者轻易的攻破.放射密码中的一些概念: 1) 明密文字母表为Z26 2) 秘匙 K = (a,b) ∈ Z26_ × Z26 . 其中Z26_ 表示小于26且与26互素(或叫互质)的正整数的集合,这点非常重要的. 3) 加密变换为 y = (ax + b) mod 26 ; 阅读全文
posted @ 2012-12-30 13:48 朗孖 阅读(8161) 评论(0) 推荐(2) 编辑
摘要: 首先定义一个多字节字符串: char sText[20] = {"多字节字符串!OK!"}; 我们需要知道转化后的宽字符需要多少个数组空间.虽然在这个里程里面,我们可以直接定义一个20*2宽字符的数组,并且事实上将运行得非常轻松愉快.但假如多字节字符串更多,达到上千个乃至上万个,我们将会发现其中浪费的内存将会越来越多.所以以多字节字符的个数的两倍作为宽字符数组下标的声明绝对不是一个好主意.所幸,我们能够确知所需要的数组空间.我们只需要将MultiByteToWideChar()的第四个形参设为-1,即可返回所需的短字符数组空间的个数: DWORD dwNum =MultiB 阅读全文
posted @ 2012-12-12 22:03 朗孖 阅读(248) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/duzouzhe/archive/2009/10/24/1589348.html 阅读全文
posted @ 2012-11-04 10:27 朗孖 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 用网络特工之类的软件(sniffer等)网卡一定会开启混杂模式 但是网卡处在混杂模式不一定是在用网络特工,不过处在混杂模式的网卡一定没干好事。 方法很简单,首先确定你没有跟你网段内的电脑有通信。打开cmd, arp -d 删除掉你的ARP列表 然后 ping你的网管或者 ping你自己,再 arp -a 显示你的ARP表,这时你的ARP表就会显示你ping的 ip地址和mac地址的对应关系, 如果还有其他条 ip和mac 对应的话, 呵呵 就是他了 :0。 这里再说明一下为什么可以这样判断: 当网卡处在混杂模式的时候会接收并响应网络上任何的数据报,所以当我向网关发送一个ICMP包时被那台.1. 阅读全文
posted @ 2012-10-31 10:19 朗孖 阅读(10968) 评论(0) 推荐(0) 编辑
摘要: http://jingyan.baidu.com/article/5d368d1e3e3a9b3f60c05793.html 阅读全文
posted @ 2012-10-28 20:44 朗孖 阅读(132) 评论(0) 推荐(0) 编辑
摘要: openssl在windows上的编译方式很多人都了解,然而很多人因为习惯于windows的ide又很想知道如何在vs2005之类的ide中点击“生成”菜单项编译openssl,然后点击上面的那个绿色的小箭头调试或者单步跟踪,那是一件多么轻松的事情啊,要比在命令行上运行perl ... &ms/do_ms&nmke...轻松多了,遗憾的是,由于vs的ide和命令行的makefile并不是一个级别的,因此做这件事很不容易,或者说即使可做的话,你必须首先用perl...nmake系列命令去配置,如果不用的话,那么你的工作量可就大了,我首先分析一下要配置vs环境需要做什么: 准备头文 阅读全文
posted @ 2012-10-26 15:11 朗孖 阅读(1123) 评论(0) 推荐(0) 编辑
摘要: 本文假定 openssl 已经编译成功,讨论如何在 VC++ 2008 中调用 openssl 的库函数。创建一个项目,名为 RSA。往项目中添加代码添加头文件路径 菜单中的 ”项目“ ==> RSA 属性 ==> C++ ==> 附加包含目录 在其中添加 openssl 头文件所在路径添加库文件所在路径菜单中的 ”项目“ ==> RSA 属性 ==> 链接器 ==> 常规 ==>附加库目录在其中添加 openssl 的库目录下面是检查OpenSSL环境是否已经配置好的测试源码View Code 1 #include <string> 2 阅读全文
posted @ 2012-10-26 12:32 朗孖 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 简单接口:简单接口使用一个函数调用就可以完成消息摘要计算,这些接口包括MD2,MD4,MD5,MDC2,RIPEMD,SHA1,函数声明都一样。 以MD5为例,函数声明为: unsigned char *MD5(const unsigned char *d, unsigned long n, unsigned char *md); 其中 d 指向要计算消息摘要的数据,n 为数据长度,md 指向保存消息摘要的缓冲区。如果 md 不为 NULL,那么它的长度必须能够容纳计算出来的消息摘要。对MD5,这个长度至少是 MD5_DIGEST_LENGTH。如果 md 为 NULL,那么计算出来的消息摘要 阅读全文
posted @ 2012-10-26 11:15 朗孖 阅读(3905) 评论(0) 推荐(0) 编辑
摘要: http://www.ibm.com/developerworks/cn/linux/l-openssl.html#Resources 阅读全文
posted @ 2012-10-24 12:45 朗孖 阅读(162) 评论(0) 推荐(0) 编辑