亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? md5_2.cpp

?? C++寫的md5算法實現
?? CPP
字號:
#include <iostream>
#include <iomanip.h>
#include <memory.h>
#include <math.h>
#include <stdlib.h>
using namespace std;

typedef unsigned char u8; 
typedef unsigned int u32;

const  double MAX_INT =(double)0xFFFFFFFF + 1.0; 
struct UNIT 
{
	u32 A;
	u32 B;
	u32 C;
	u32 D;
};
u32 X[16];
typedef u32 (*Func)(u32,u32,u32);
static u32 T[65]; 
const u32 TX[4][16][3] = 
{ 

{ 
{ 0, 7, 1}, { 1,12, 2}, { 2,17, 3}, { 3,22, 4}, 
{ 4, 7, 5}, { 5,12, 6}, { 6,17, 7}, { 7,22, 8}, 
{ 8, 7, 9}, { 9,12,10}, {10,17,11}, {11,22,12}, 
{12, 7,13}, {13,12,14}, {14,17,15}, {15,22,16}, 
}, 

{ 
{ 1, 5,17}, { 6, 9,18}, {11,14,19}, { 0,20,20}, 
{ 5, 5,21}, {10, 9,22}, {15,14,23}, { 4,20,24}, 
{ 9, 5,25}, {14, 9,26}, { 3,14,27}, { 8,20,28}, 
{13, 5,29}, { 2, 9,30}, { 7,14,31}, {12,20,32}, 
}, 

{ 
{5, 4, 33}, { 8,11,34}, {11,16,35},{14, 23,36}, 
{1, 4, 37}, { 4,11,38}, { 7,16,39},{10, 23,40}, 
{13,4, 41}, { 0,11,42}, { 3,16,43},{ 6, 23,44}, 
{9, 4, 45}, {12,11,46}, {15,16,47},{ 2, 23,48}, 
}, 

{ 
{ 0,6,49}, { 7,10,50}, {14,15,51},{ 5, 21,52}, 
{12,6,53}, { 3,10,54}, {10,15,55},{ 1, 21,56}, 
{ 8,6,57}, {15,10,58}, { 6,15,59},{13, 21,60}, 
{ 4,6,61}, {11,10,62}, { 2,15,63},{ 9, 21,64}, 
}, 
}; 

void init()
{
	for(int i=1;i<65;i++)
	{
		T[i]= (u32)(MAX_INT * fabs(sin(i)));
	}
}

u32 F(u32 x,u32 y,u32 z)
{
	return ((x & y) | ((~x) & z)); 
}

u32 G(u32 x,u32 y,u32 z)
{
	return ((x & z) | (y & (~z))); 
}

u32 H(u32 x,u32 y,u32 z)
{
	return (x ^ y ^ z); 
}

u32 I(u32 x,u32 y,u32 z)
{
	return (y ^ (x | (~z))); 
}
void display(u32 x)
{
	if(x<(1<<28)) cout<<"0";
	if(x<(1<<24))cout<<"0";
	if(x<(1<<20)) cout<<"0";
	if(x<(1<<16))cout<<"0";
	if(x<(1<<12)) cout<<"0";
	if(x<(1<<8))cout<<"0";
	if(x<(1<<4)) cout<<"0";
	cout<<std::hex<<x;	
}

u8* pretreat(u8 * data,int len,int & newLen)
{
	int fill,rest,size;
	u8* newData;
	u32 bit_len;
	
	rest=len%56;
	if(rest <= 56)	fill= 56- rest;
	else fill = (64-rest )+56;
	
	newData = new u8(len+fill+8);
	if(NULL == newData) return NULL;
	
	if(len > 0) memcpy(newData,data,len);
	if(fill>0) 	memset(newData+len,0x80,1);
	if(fill>1)	memset(newData+len+1,0,fill-1);
	
	size=fill+len;
	bit_len = size * 8;
	
	memset(newData + size + 0,(bit_len & 0x000000FF), 1); 
	memset(newData + size + 1,(bit_len & 0x0000FF00) >> 8, 1); 
	memset(newData + size + 2,(bit_len & 0x00FF0000) >> 16,1); 
	memset(newData + size + 3,(bit_len & 0xFF000000) >> 24,1); 
	
	memset(newData + size + 4,0,4); 	
	newLen = size + 8; 	
	return newData; 
}

//左移函數 
u32 leftMove(u32 x,int s)
{
	return (x>>32-s)|(x<<s);
}

//轉換函數 
void transform(UNIT & unit,int index,Func f)
{
	u32 abcd[4],temp;
	int k,s,u;
	
	for(int i=0;i<16;i++)
	{
		k=TX[index][i][0];
		s=TX[index][i][1];
		u=TX[index][i][2];
		temp=f(unit.B,unit.C,unit.D);
		
		abcd[0]=unit.D;
		abcd[1]=leftMove(unit.A+temp+X[k]+T[u],s)+unit.B;
		abcd[2]=unit.B;
		abcd[3]=unit.C;
		
		unit.A=abcd[0];
		unit.B=abcd[1];
		unit.C=abcd[2];
		unit.D=abcd[3];
	}
}

//md5函數實現 
int md5(u8 * data,int len)
{
	u32 AA,BB,CC,DD;
	u8* buf;
	int newLen;
	UNIT unit;
	
	init();
	buf=pretreat(data,len,newLen);
	 
	if(NULL == buf) return -1;
	
	AA = 0x67452301; 
	BB = 0xefcdab89; 
	CC = 0x98badcfe; 
	DD = 0x10325476; 
	
	for(int i=0;i<newLen/64;i++)
	{
		unit.A=AA;
		unit.B=BB;
		unit.C=CC;
		unit.D=DD;
		 
		for(int j=0;j<16;j++)
		{
			X[j]  =buf[i*16+j*4];
			X[j] +=buf[i*16+j*4+1]<<8;
			X[j] +=buf[i*16+j*4+2]<<16;
			X[j] +=buf[i*16+j*4+3]<<24;
		}
				
		transform(unit,0,F);	
		transform(unit,1,G);
		transform(unit,2,H);
		transform(unit,3,I);
		
		AA=unit.A+AA;
		BB=unit.B+BB;
		CC=unit.C+CC;
		DD=unit.D+DD;
	}
	
	display(AA);
	display(BB);
	display(CC);
	display(DD);
	cout<<endl;
	return 0;
}

//md5函數 
void md5(u8 * data)
{
	//int len=sizeof(data);
	int len=0;
	while(data[len]!='\0')len++;
	md5(data,len);	
}

void main()
{	
	char str[200];
	cout<<"輸入字符串"<<endl;
	cin>>str;
	cout<<"md5散列值為:"<<endl;
	md5((u8*)str);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲国产日本综合| 精品国产成人系列| 91碰在线视频| 99麻豆久久久国产精品免费优播| 国产麻豆一精品一av一免费| 琪琪一区二区三区| 韩日欧美一区二区三区| 美国av一区二区| 国产成人精品综合在线观看 | av一区二区三区| 99热在这里有精品免费| 91麻豆文化传媒在线观看| 色综合久久中文综合久久97| 一本一道久久a久久精品综合蜜臀| 在线看国产一区二区| 欧洲亚洲国产日韩| 91精品国产综合久久精品麻豆| 欧美精品乱码久久久久久| 69久久99精品久久久久婷婷| 精品国产免费一区二区三区四区 | 蜜臀久久99精品久久久久宅男| 麻豆精品蜜桃视频网站| 老司机免费视频一区二区| 激情图片小说一区| 99国产麻豆精品| 欧美浪妇xxxx高跟鞋交| 欧美一区二区播放| 国产情人综合久久777777| 国产精品成人在线观看| 亚洲综合视频在线观看| 久久精品理论片| va亚洲va日韩不卡在线观看| 在线观看免费亚洲| 精品免费国产二区三区| 国产精品国产自产拍在线| 午夜欧美在线一二页| 国产尤物一区二区| 日本电影欧美片| 欧美精品一区二区三区久久久| 中文字幕在线不卡| 美女性感视频久久| 色欧美88888久久久久久影院| 777a∨成人精品桃花网| 国产精品国产自产拍高清av | 欧美亚一区二区| 精品av久久707| 一区二区三区国产| 国产精品一线二线三线| 欧美午夜精品电影| 中文字幕日韩一区二区| 久久精品99国产精品| 91福利视频在线| 亚洲国产成人私人影院tom| 婷婷一区二区三区| aaa欧美大片| 欧美激情一区三区| 经典三级视频一区| 欧美精品久久99| 亚洲一区二区三区四区在线| 成人精品亚洲人成在线| 欧美刺激午夜性久久久久久久| 亚洲一区在线播放| 色哟哟在线观看一区二区三区| 国产亚洲1区2区3区| 欧美a级一区二区| 欧美老肥妇做.爰bbww| 中文字幕一区二区三区精华液| 国产麻豆视频一区| 欧美成人乱码一区二区三区| 亚洲国产美女搞黄色| 色又黄又爽网站www久久| 免费成人美女在线观看| 一本一本久久a久久精品综合麻豆| 91福利国产精品| 久久亚洲欧美国产精品乐播| 美女视频免费一区| 日韩欧美国产高清| 国内精品免费在线观看| 色久优优欧美色久优优| 91国偷自产一区二区三区观看| 日韩vs国产vs欧美| 国产精品久久久一本精品| 欧美日韩午夜影院| 成人免费高清视频在线观看| 日本女优在线视频一区二区 | 欧美婷婷六月丁香综合色| 精品一二三四区| 一区二区三区日韩| 国产精品青草综合久久久久99| 51精品视频一区二区三区| www.在线成人| 精品一区二区三区在线视频| 亚洲一区二区三区在线播放| 国产农村妇女精品| 精品三级av在线| 欧美一区日本一区韩国一区| 色国产精品一区在线观看| 成人丝袜视频网| 国产精品77777竹菊影视小说| 日韩精品午夜视频| 亚洲成人激情综合网| 中文字幕在线一区二区三区| 久久天天做天天爱综合色| 制服丝袜亚洲色图| 在线不卡一区二区| 欧美三级韩国三级日本三斤| 91免费版pro下载短视频| 国产91精品入口| 国产91对白在线观看九色| 97久久人人超碰| 国产激情91久久精品导航| 韩国一区二区在线观看| 九九视频精品免费| 九九九精品视频| 紧缚奴在线一区二区三区| 久久国产精品99久久人人澡| 强制捆绑调教一区二区| 青椒成人免费视频| 韩国欧美国产1区| 国产麻豆视频一区二区| 国产乱码字幕精品高清av| 国产真实精品久久二三区| 狠狠色2019综合网| 粉嫩绯色av一区二区在线观看| 成人av动漫在线| jlzzjlzz亚洲女人18| 91亚洲精品久久久蜜桃网站| 在线观看日韩高清av| 欧美日韩在线亚洲一区蜜芽| 欧美日韩精品一区视频| 91.xcao| 日韩久久久久久| 国产日韩欧美综合一区| 国产精品久久毛片| 亚洲一二三专区| 天堂资源在线中文精品| 久久狠狠亚洲综合| 成人av在线资源网站| 色一区在线观看| 欧美一级二级在线观看| 久久久久久久性| 亚洲另类春色校园小说| 天天综合色天天| 风间由美性色一区二区三区| 91香蕉视频在线| 欧美xxxxxxxx| 中文字幕佐山爱一区二区免费| 日日夜夜精品免费视频| 国产一区在线精品| 欧洲中文字幕精品| 久久综合九色综合久久久精品综合| 欧美激情一区二区三区不卡 | 欧美剧情电影在线观看完整版免费励志电影 | 国产精品综合二区| 在线观看日韩高清av| 精品99久久久久久| 亚洲一二三区不卡| 国产高清精品在线| 欧美美女bb生活片| 国产精品麻豆99久久久久久| 视频在线观看一区| 99久久99久久免费精品蜜臀| 欧美一区二区黄| 一区二区三国产精华液| 国产伦精品一区二区三区视频青涩 | av网站免费线看精品| 欧美日韩免费一区二区三区| 久久这里只有精品6| 亚洲一区二区三区四区的| 国产高清不卡二三区| 欧美精品乱码久久久久久按摩| 国产精品国产a级| 国产老女人精品毛片久久| 欧美三级资源在线| 国产精品久久99| 国产精品亚洲专一区二区三区 | 99久久精品国产一区| 欧美不卡一区二区三区| 亚洲大片免费看| 日本韩国欧美三级| 国产精品伦一区二区三级视频| 国产乱码字幕精品高清av | 欧美日韩在线免费视频| 国产女人18毛片水真多成人如厕| 麻豆视频观看网址久久| 欧美喷水一区二区| 午夜视频久久久久久| 色网综合在线观看| 最新久久zyz资源站| 粉嫩一区二区三区在线看| 久久色成人在线| 国产一区二区三区在线观看精品 | 91福利社在线观看| 日韩一区在线看| jizz一区二区| 国产精品久久免费看| 成人国产精品免费观看| 国产精品久久精品日日| www.久久精品| 曰韩精品一区二区|