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

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

?? newhash.cpp

?? aes的原代碼
?? CPP
字號:
#include "StdAfx.h"
#include ".\newhash.h"
/**
 * 散列構造器,有機器碼
 * 本類可根據 機器碼,用戶名,口令或只用用戶名,口令散列出指定位的序列
 * 參數:
 *  pcstr 機器碼
 *  username 用戶名
 *  psw 用戶口令
 *  len1 pcstr有效長度
 *  len2 username有效長度
 *  len3 psw有效長度
 *  keyLen 須散列后序列的位數,缺省為 128位
 */
NewHash::NewHash(unsigned char *pcstr, unsigned char *username, unsigned char *psw, int len1, int len2, int len3, int keyLen)
{
	if(keyLen!=128 && keyLen!=192 && keyLen!=256) throw exception("密鑰長度無效");	//密鑰長度無效異常
																					//密鑰長度必須是128或192或256位
	try{
		genKey = new GenKey(pcstr,username,psw,len1,len2,len3);
		buffer = new unsigned char[len1+len2+len3];
		unsigned char *tp = buffer;
		memcpy(tp,pcstr,len1);
		tp+=len1;
		memcpy(tp,username,len2);
		tp+=len2;
		memcpy(tp,psw,len3);
		count=len1+len2+len3;
		this->keyLen=keyLen;
		initial();						//基本數據初始化
		flg=false;
	}catch(exception& ex)
	{
		delete (genKey);
		delete[] buffer;
		throw ex;
	}
}
/**
 * 散列構造器,無機器碼
 * 參數:
 *  pcstr 機器碼
 *  username 用戶名
 *  len1 pcstr有效長度
 *  len2 username有效長度
 *  keyLen 須散列后序列的位數,缺省為 128位
 */
NewHash::NewHash(unsigned char *pcstr, unsigned char *username, int len1, int len2, int keyLen)
{
	if(keyLen!=128 && keyLen!=192 && keyLen!=256) throw exception("密鑰長度無效");
	try{
		genKey = new GenKey(pcstr,username,len1,len2);
		buffer = new unsigned char[len1+len2];
		unsigned char *tp = buffer;
		memcpy(tp,pcstr,len1);
		tp+=len1;
		memcpy(tp,username,len2);
		count=len1+len2;
		this->keyLen=keyLen;
		initial();
		flg=false;
	}catch(exception& ex)
	{
		delete (genKey);
		delete[] buffer;
		throw ex;
	}
}
/**
 * 取的散列后指定位數的序列,進行此方法調用時必須進行iniKey方法的調用初始化,否則函數體內將拋出異常
 * 參數:
 *  finkey 存儲最終散列序列,要求大小務必大于等于keyLen
 * 返回:finkey 存儲最終散列序列指針
 */
unsigned char *NewHash::getKey(unsigned char *finkey)
{
	if(!flg) throw exception("從未初始化的序列!");
	if(strlen((char*)((void*)finkey))<(size_t)keyLen/8) throw exception("密鑰參數數組越界!");
	unsigned char *reh; 
	switch(keyLen)							//根據指定的不同的散列序列位數進行處理
	{
	case 128: //finkey= new unsigned char[SL];
		if(ha[SL-1]%2) memcpy(finkey,ha,SL);
		else memcpy(finkey,hb,SL);
		return finkey;
	case 192:
		//finkey= new unsigned char[SL+8];
		reh=finkey;
		memcpy(reh,ha,16);
		reh+=16;
		memcpy(reh,hb,8);
		return finkey;
	case 256:
		//finkey= new unsigned char[2*SL];
		reh=finkey;
		memcpy(reh,ha,16);
		reh+=16;
		memcpy(reh,hb,16);
		return finkey;
	default: throw exception("密鑰長度無效");
	}
}
/**
 * 進行基本數據結構及數據的初始化,在構造函數里調用
 */
void NewHash::initial()
{
	unsigned char *tp,*tk;
	int n;
	mecnt=0;
	tp=buffer;
	genKey->getKey(key);
	memset(m,0,sizeof(m));
	memset(me,0,sizeof(me));
	for(int i=0; i<count; i+=16,tp+=16)					//初始化me(由m經過aes加密得)
	{
		n =( count -i > 16 ) ? 16 : ( count - i );
		memcpy(m[mecnt],tp,n);
		AesCrypt::rijCrypt(m[mecnt],me[mecnt],key,16);
		mecnt++;
	}
	tk=key;
	memcpy(k1,tk,SUBKL);
	tk+=SUBKL;
	memcpy(k2,tk,SUBKL);
	//printf("-=%d=-\n",mecnt);
	/*for(int i=0; i<mecnt; i++)
	{
		for(int j=0; j<16; j++) printf("%x-",me[i][j]);
		printf("\n");
	}*/
}
/**
 * 散列的核心,進行散列的基本過程,調用getKey方法前必須先調用此方法
 */
void NewHash::iniKey()
{
	flg=true;
	unsigned char tmp[SL];
	memset(ha,0,sizeof(ha));
	memset(hb,0,sizeof(hb));
	memcpy(ha,k1,SUBKL);
	memcpy(hb,k2,SUBKL);
	for(int i=0; i<mecnt; i++)
	{
		xor(tmp,ha,me[i],SL);
		AesCrypt::rijCrypt(m[i],r,tmp,16);		//對稱加密,使其更隨機
		xor(r,r,me[i],SL);

		xor(tmp,hb,m[i],SL);
		xor(tmp,tmp,r,SL);
		AesCrypt::rijCrypt(me[i],re,tmp,16);	//對稱加密,使其更隨機
		xor(re,re,m[i],SL);
		
		memcpy(tmp,ha,SL);
		xor(ha,ha,hb,SL);
		xor(ha,ha,re,SL);
		xor(ha,ha,r,SL);
		
		xor(hb,tmp,hb,SL);
		xor(hb,hb,r,SL);

		//memcpy(tmp,ha,SL);
		//ha^=me[i];
		//AesCrypt::rijCrypt(m[i],r,ha,16);
		//r^=me[i];

		//memcpy(tmp1,hb,SL);
		//hb^=m[i];
		//hb^=r;
		//AesCrypt::rijCrypt(me[i],re,hb,16);
		//re^=m[i];

		//memcpy(ha,tmp,SL);
		//ha^=hb;
		//ha^=re;
		//ha^=r;

		//memcpy(hb,tmp1,SL);
		//hb^=tmp, hb^=r;
	}
}
/**
 * 進行兩個序列的異或運算
 */
void NewHash::xor(unsigned char *buf, unsigned char *a, unsigned char *b, int l)
{
	for(int i=0; i<l; i++)
	{
		buf[i]=a[i]^b[i];			//逐個元素異或
	}
}

NewHash::~NewHash(void)
{
	delete (genKey);
	delete[] buffer;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃一区二区三区在线| 亚洲久草在线视频| 日韩免费一区二区三区在线播放| 在线中文字幕不卡| 99久久久免费精品国产一区二区 | 久久久精品日韩欧美| 日韩无一区二区| 精品日韩欧美在线| 久久一二三国产| 久久精品人人做| 久久久99精品免费观看不卡| 欧美日韩国产乱码电影| 8x8x8国产精品| 国产午夜精品理论片a级大结局| 久久美女高清视频| 欧美国产激情二区三区| 1000精品久久久久久久久| 丝袜美腿高跟呻吟高潮一区| 捆绑紧缚一区二区三区视频| 94色蜜桃网一区二区三区| 91免费在线播放| 欧美一区二区网站| 欧美国产精品久久| 日韩国产高清在线| 懂色av中文字幕一区二区三区| 99视频精品全部免费在线| 欧美日韩高清一区| 亚洲精品国产a久久久久久| 久久不见久久见中文字幕免费| 99久久综合99久久综合网站| 欧美三级电影一区| 欧美成人vps| 午夜电影网一区| 在线观看区一区二| 日韩视频免费观看高清完整版在线观看| 欧美激情中文不卡| 国产美女久久久久| 欧美一区二区视频观看视频| 国产精品久久久久aaaa| 国产成人夜色高潮福利影视| 欧美α欧美αv大片| 国产91精品入口| 亚洲国产另类av| 在线国产电影不卡| 亚洲午夜精品久久久久久久久| 9人人澡人人爽人人精品| 国产三级精品视频| 看片的网站亚洲| 91精品国产欧美日韩| 亚洲精品视频在线观看免费| 成人国产精品免费观看动漫| 精品久久人人做人人爽| 国产精品996| 亚洲欧美另类综合偷拍| 欧美综合欧美视频| 美美哒免费高清在线观看视频一区二区 | 麻豆成人av在线| 欧美日韩一卡二卡三卡| 天天做天天摸天天爽国产一区| 欧美综合欧美视频| 蜜臀av在线播放一区二区三区| 日韩精品一区二区三区在线| 国产夫妻精品视频| 夜夜亚洲天天久久| 久久综合网色—综合色88| 国产91精品一区二区麻豆网站| 亚洲色图在线看| 欧美日韩亚洲另类| 欧美高清精品3d| 成人a级免费电影| 蜜桃视频免费观看一区| 久久成人免费网| 亚洲嫩草精品久久| 26uuu国产日韩综合| 在线一区二区三区四区| 日韩电影在线看| 青青草国产精品亚洲专区无| 亚洲精品欧美激情| 国产免费观看久久| 久久午夜羞羞影院免费观看| 8x8x8国产精品| 欧美绝品在线观看成人午夜影视| 91碰在线视频| 91在线无精精品入口| 不卡电影一区二区三区| 欧美日韩在线观看一区二区| 国产suv精品一区二区883| 黄网站免费久久| 久久电影国产免费久久电影| 日韩va亚洲va欧美va久久| 国产精品视频麻豆| 国产精品美女一区二区三区| 欧美一区二区三区视频在线观看 | 色综合天天做天天爱| 91丨porny丨在线| 成人晚上爱看视频| 色综合久久久久网| 色婷婷综合久久久久中文一区二区| hitomi一区二区三区精品| 国产成人综合视频| 成人高清伦理免费影院在线观看| 国产成人亚洲精品狼色在线| caoporn国产一区二区| 欧美综合欧美视频| 日韩免费性生活视频播放| 中文字幕第一区二区| 亚洲精品高清在线| 午夜视频在线观看一区二区| 看片网站欧美日韩| 99re66热这里只有精品3直播| 色婷婷av一区| 亚洲国产精品成人综合| 亚洲国产日韩一区二区| 久久激情五月激情| 欧美亚洲综合另类| 一区二区三区**美女毛片| 激情偷乱视频一区二区三区| 91亚洲国产成人精品一区二三| 欧美一区二区三区在线| 1024成人网| 成人av资源网站| 精品国内片67194| 人人精品人人爱| 欧美一区二区视频网站| 亚洲日本青草视频在线怡红院| 日韩成人一区二区三区在线观看| 久久av中文字幕片| 欧美天天综合网| 国产精品久久久久久久久搜平片| 亚洲精品国产品国语在线app| 极品尤物av久久免费看| 欧美性三三影院| 午夜精品一区二区三区免费视频 | 五月婷婷激情综合网| 97久久超碰国产精品| 国产精品国产三级国产aⅴ中文| 国产乱码精品一区二区三区忘忧草 | 91精品国产aⅴ一区二区| 亚洲综合色在线| 欧美福利一区二区| 同产精品九九九| 日韩一区二区高清| 国产精品1区2区| 国产精品国产三级国产aⅴ入口 | 亚洲一区影音先锋| 欧美三级电影在线看| 天堂在线一区二区| 久久日韩粉嫩一区二区三区| 国产精品18久久久久| 国产精品理论片| 国产欧美综合在线| 丁香另类激情小说| 亚洲天堂网中文字| 日本黄色一区二区| 亚洲综合色婷婷| 日韩美女一区二区三区四区| 风间由美中文字幕在线看视频国产欧美 | 99re成人精品视频| 国产一区二区三区最好精华液| 亚洲婷婷国产精品电影人久久| 91极品视觉盛宴| 日本视频免费一区| 亚洲欧美在线视频| 精品久久久久久最新网址| 日本精品一区二区三区高清 | 国产精品久久久久天堂| 欧美tickle裸体挠脚心vk| 欧美日韩成人综合天天影院 | 亚洲一区视频在线| 一级特黄大欧美久久久| 国产精品超碰97尤物18| 国产精品日产欧美久久久久| 欧美韩日一区二区三区| 日本一二三不卡| 中文字幕在线观看不卡视频| 国产精品久久毛片a| 国产精品素人视频| 亚洲免费在线视频| 污片在线观看一区二区| 韩国成人精品a∨在线观看| 狠狠狠色丁香婷婷综合激情| 国产在线国偷精品产拍免费yy| 国产成人无遮挡在线视频| 高清久久久久久| 欧美亚洲综合网| 欧美成人欧美edvon| 椎名由奈av一区二区三区| 午夜精品视频一区| 国内精品视频666| 94-欧美-setu| 精品久久久三级丝袜| 国产精品美女久久久久高潮| 亚洲激情男女视频| 久久精品72免费观看| 成人av集中营| 日韩一区二区精品葵司在线| 综合精品久久久| 国产真实精品久久二三区| 99久久久久免费精品国产 | 国产精品影音先锋|