自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (3)
  • 收藏
  • 关注

原创 ac自动机实现多模式匹配

用到了java中的hashMap,可以节约内存。支持

2014-11-06 21:53:22 802

原创 看看这个代码为啥死循环

#include void   loop() ;void    addr() ;int  main (){    addr() ;    loop() ;}long     *p  ;void  loop(){    long    i, j ;    j = 0 ;    for ( i = 0 ; i     { 

2014-07-24 19:20:55 888 4

原创 端口探测

代码思想:开启线程数可以自定义,每个线程去探测一个IP地址下的设定范围内的端口,直到所有IP都被探测过。其实对于每个IP又开始开多个线程去做,这样会快很多,shaosha

2014-06-12 14:46:21 1061 1

原创 python多线程图片爬虫

学习python后写的第一个程序:抓妹子图。。。

2014-06-08 16:00:55 2579

原创 汉明码与交织技术

汉明码是由Richard Hanming于1950年提出的,它具有一位纠错能力。设欲检测的二进制数据为n位,为使其具有纠错能力,需增添k位检测位,组成n+k位的数据。为了能准确对错误定位以及指出数据没错,新增添的检测位数k应满足:2k≥n+k+1由此关系科求得不同数据长度n所需检测位的位数k,如表1.1表1.1 数据长度与检测位位数的关系nk(最

2014-06-08 08:34:04 3013

原创 RAID6 P+Q实现

RAID6是一种数据冗余恢复的方案,具体思想详见维基百科:本文主要参考了两个博客:RAID6算法解析点击打开链接        RAID6 P+Q算法 点击打开链接实现了:Galois域的乘法和除法、RAID6 P+Q方法的验证

2014-06-08 08:18:07 3476 1

原创 基于winPcap的动态内容阻断

首先需要配置Winpcap环境。

2014-04-13 19:50:17 1489 1

原创 macbook装机注意事项&&双系统崩溃解决办法

最近给朋友macbook pro本装win7,遇到了各种各样的问题,在这里做个笔记,也希望能帮助大家。 1.mac装win7就用mac系统里实用工具的boot camp就行:先把win7镜像拷进来,进boot camp ,插上一个USB2.0的U盘,然后根据提示会下载一些驱动,然后就把你的U盘做好了。它会自动重启进行win7的安装。如果用的是3.0的U盘,在安装时可能会提示“DVD/CD驱

2014-02-10 00:35:40 14085

原创 负载均衡服务器

每次有客户端连接时选择当前连接数(CR)最小的http服务器进行连接,然后转发请求和应答,用线程实现:#include "unp.h"#include #include #include #include #include #include #include #include #define gettid() syscall(__NR_gettid)

2014-01-07 16:22:56 690

原创 monitor客户端

配合http服务器(http://blog.csdn.net/hit_fantasy/article/details/17961539)使用的monitor命令专用客户端:#include "unp.h"int myreadline(int fd, char *buf, int n);void monitor_cli(FILE *fp, int sockfd);int main(int

2014-01-07 16:17:44 703

原创 http客户端

配合http服务器(http://blog.csdn.net/hit_fantasy/article/details/17961539)使用的简单客户端:#include "unp.h"void apply(int sockfd,const char *ip,const char* fileName);int dealurl(const char * url,char *ip,char

2014-01-07 16:15:16 864

原创 http服务器

最简单的http服务器,可以发html、jpg、gif给客户端,有日志记录功能:#include "unp.h"#include #include #include #include #include #include #include #include #include #define gettid() syscall(__NR_gettid)

2014-01-07 16:10:00 1102

原创 ftpd chroot的实现

首先安装pure-ftpd:Sudo apt-getinstall pure-ftpd配置过程:fantasy@hp:~$ suroot密码: root@hp:/home/fantasy#groupadd ftpgroupgroupadd:“ftpgroup”组已存在root@hp:/home/fantasy#useradd -g ftpgroup -d /home/f

2014-01-07 15:58:28 2272

原创 passwd程序功能实现

实验内容:自己编制文件和程序,仿制passwd程序修改/etc/shadow的功能,包括:a) 自己设置一个类/etc/shadow文件aaa,该文件中约定好内容格式,和读取该文件的程序相配合,文件中包括超级用户及其内容、普通用户及其内容。b) 编制程序使得:Root用户能够读取和修改aaa文件中所有用户的内容,普通用户仅能够读取和修改aaa文件中属于自己用户的内容。c) 普通用户

2014-01-07 15:43:47 1736

原创 双数组AC自动机(doubleArrayTrie)的实现

按照PPT上的描述写了个最简单的版本,没敢测大数据。主要是几个表的构建:首先构建next,base,check表。根据失效函数的定义:父状态的失效函数输入当前字符,可得出每个状态的失效函数(要转移到的状态)可以发现每个状态要转移到的状态是一定的,如下图:所以可以构造一个fail表,由上述三个表来构建。为了输出方便,又构造了一个output表。代码如下:#incl

2013-12-13 23:29:34 4817

原创 RSA

密钥生成:公钥e,n放在publicKey.txt中,私钥d,p,q放在private.txt中因为要按字符(0-255)处理,所以素数表从17开始,以确保n大于256#include #include #include #include using namespace std;//素筛法得出的大素数表long long int primeTable[162]={17,19

2013-05-12 20:06:09 680

转载 DES

DES写不出来。。还是自己太弱了。。。转某位神牛的代码来学习学习:#include "stdio.h"#include "memory.h"#include "time.h"#include "stdlib.h"#define PLAIN_FILE_OPEN_ERROR -1#define KEY_FILE_OPEN_ERROR -2#define CIPHER_FILE_OP

2013-05-05 18:05:31 631

原创 Z26上维吉尼亚和行置换的乘积密码体制

首先生成维吉尼亚密码的密钥和行置换密码的密钥输入m和n,行置换是用m*m矩阵每组做的,维吉尼亚的密钥长度为n结果分别放在3个文本文件中#include #include #include #include #include #include using namespace std;int main(){ srand(time(NULL)); int

2013-05-03 15:47:58 1443

原创 Z26上的行置换密码体制

类似这样的加密方法:明文放在“in.txt”中,输出加密解密的结果:#include #include #include #include #include using namespace std;#define SIZE 5char c_matrix[SIZE][SIZE];char r_matrix[SIZE][SIZE];int len;void inco

2013-05-01 01:15:07 866

原创 Z26上的维吉尼亚密码体制

多表代替密码,一阶的hill密码加密: c=p+ki(mod26)解密: p=c-ki(mod26)密钥k循环使用读文件"in.txt"加密结果放在"encode.txt"中,解密结果放在"decode.txt"中#include #include #include #include using namespace std;char temp;char ans

2013-04-27 22:35:47 1233 2

原创 Z26上的仿射密码体制

加密过程y=k1x+k2(mod26)解密过程x=_k1(y-k2)(mod26)_k1为k1的乘法逆元,因为有26这个范围,而且逆元唯一,所以可直接脑残试出_k1的值 具体实现:读文本文件"in.txt"进行加密,结果放到"encode.txt"中,同时进行解密,结果放在"decode.txt"中#include #include #include #i

2013-04-27 19:57:34 1099

原创 希尔密码

希尔密码用一个矩阵加密,用它的逆矩阵解密。 明文放在"in.txt"中程序进入先输入n的值,然后输入n阶矩阵接下来输入1加密,结果放在"encode.txt"中重启程序输入相同n和矩阵后,输入2解密,结果放在"decode.txt"中因为是按字节读取加密解密,所以可以处理任何格式的文件,解密后自行修改文件后缀即可恢复运行#include #include #incl

2013-04-25 23:34:02 1735

原创 关键路径求解算法

关键路径求解要用到拓扑排序,先从头往后拓扑,在ve[i]中记录每个事件的最早发生时间。然后把ve[]的值赋给vl[],从后边向前求每个事件的最迟发生时间,记录在vl[]中。如果ve[]中的值和vl[]中的值对应相等,则这个事件在关键路径上。 假设初始AOE网是这样的: 关键路径:代码:#include #include #include #includ

2013-04-09 17:09:33 1369

原创 拓扑排序算法

用indegree来记录每个点的入度,每次输出入度为0的点,然后继续往后找。#include #include #include #include using namespace std;int map[101][101];int indegree[101];int n,m;bool topoSort(){ queue Q; int nodeCount=0

2013-04-08 16:02:37 805

原创 HOJ 1211 全源最短路

直接套floyd模板://floyd hoj 1211#include #include #define INF 999999using namespace std;int map[101][101];void floyd(int n){ for(int k=0; k<n; k++) { for(int i=0; i<n; i++)

2013-04-04 15:43:19 619

原创 HOJ 1811 最小生成树

最小生成树入门题,输入n个坐标点,输出连接这些点的最小距离和。解法1: Kruskal//kruskal 1811#include #include #include #include #include #define MAX 105using namespace std;struct Point{ double x,y;}point[MAX];struc

2013-04-02 22:39:51 786 1

原创 闭散列表及其查找算法的实现

在一个数组中模size进行散列,用count来判满,也叫开放地址法。#ifndef openAddress_H_#define openAddress_H_#include using namespace std;struct openAddressNode{ int data; bool used;};class hashTable{private:

2013-04-01 21:07:36 1729

原创 开散列表及其查找算法的实现

一个头结点数组,散列后的元素插入数组元素后的链表中。#ifndef listAddress_H_#define listAddress_H_#include using namespace std;struct node{ int data; node* next;};class hashTable{private: int size; n

2013-04-01 21:03:58 1085

原创 排序性能测试比较

用了头文件“sort.h” 附链接: http://blog.csdn.net/hit_fantasy/article/details/8739985用rand()生成随机数组,然后用start=clock();  XXXXSort(a,len);  finish=clock();来计时。基数排序没有做,不知道怎么确定基数。#include #include #include

2013-03-30 14:22:27 666

原创 各种排序实现

冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、基数排序、堆排序的实现:#ifndef Sort_H_#define Sort_H_#include #include #include #include #include using namespace std;inline void exchange(int &a,int &b){ int temp=a

2013-03-30 14:17:47 879

原创 MP3播放器

用了windows的mcisendsrting接口,挺好玩的。#include #include #include #include #include using namespace std;class mp3player{public: mp3player(); mp3player(const char *p); ~mp3player();

2013-03-28 14:26:24 928

原创 AES简单实现

#include #include #include using namespace std;typedef unsigned char byte;//加法byte add(byte a,byte b){ return a^b;}//乘法byte multiply(byte a,byte b){ //16bit unsigned short int

2013-03-28 14:24:14 711

原创 商场家电库存模型

主要练习链表操作,插入排序。#include #include #include #include #include #include #include using namespace std;void menu(){ system("color 5f"); cout<<"商场家电的库存模型"<<endl<<endl; cout<<"1.插入"<<e

2013-03-28 14:22:26 1121

原创 学生信息管理系统

大一时候的作业。。。#include #include #include #include #include #include using namespace std;void menu(){ system("color 5f"); cout<<"学生成绩综合管理系统"<<endl<<endl; cout<<"1.新增学生信息"<<endl<<end

2013-03-28 14:20:39 828

原创 统计单词个数排序输出

在目录下放"in.txt"作为读入,放"out.txt"作为输出。#include #include #include struct{ char ch[50]; int num;} list[10000],temp;int main(){ //读文件 FILE *fin=fopen("in.txt", "r"), *fout=fopen("ou

2013-03-28 14:19:12 846

原创 求原根

#include #include #include // m^n % kint quickpow(int a,int b,int n){ int t = 1; if (b == 0) return 1; if (b == 1) return a%n; t = quickpow(a, b>>1, n); t

2013-03-28 14:15:59 1118

原创 脑残法计算a对模数m的阶

#include #include #include using namespace std;unsigned long int a[10000]={2}, num=1;unsigned long int j=0;int max_gongyue(int num1,int num2){ int temp,m,n; if(num1<num2) {

2013-03-28 14:14:44 1839

原创 解同余方程

#include using namespace std;int max_gongyue(int num1,int num2){ int temp,m,n; if(num1<num2) { temp=num1; num1=num2; num2=temp; } m=num1; n=num2;

2013-03-28 14:12:46 1179

原创 计算欧拉函数

#include #include #include #include #include using namespace std;unsigned long int a[10000]={2}, num=1;unsigned long int j=0;inline int prime(unsigned long int x){ unsigned long int

2013-03-28 14:10:58 3978

原创 快速幂

还不是太理解,先用着吧。。。#include using namespace std;long long modexp(int a,int b,int n){ long long ret=1; long long tmp=a; while(b) { if(b&0x1) ret=ret*tmp%n; tmp=tmp*t

2013-03-28 14:09:07 692

基于winPcap动态内容阻断

通过协议还原(http),以及网页内容的分析(AC多模式匹配),对于网页加载使用Fin数据包等方法进行阻断。

2014-04-13

CodeBlocks设置winpcap开发环境

压缩包内有winPcap4.1.3安装程序、WpdPack、WinPcap中文技术文档、以及配置方法CodeBlocks设置winpcap开发环境.pdf

2014-04-13

PHP+MySQL网站开发技术与典型案例导航 源代码.rar

PHP+MySQL网站开发技术与典型案例导航 源代码.rar 与书上代码配套

2013-08-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除