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

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

?? gfl.cpp

?? 東北大學編寫的DES、RSA混合密碼系統
?? CPP
字號:
// GfL.cpp: implementation of the CGfL class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MixedCS.h"
#include "GfL.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

///////////////////////////////////////////////////////////////////////////////
// CGfL Functions
///////////////////////////////////////////////////////////////////////////////
#define CHECK(x)		{if( !(x) ) return false;}

/******************************************************************************/
//	名稱:Transform
//	功能:變換
//  參數:
//	返回:變換成功返回true,否則返回false
//  備注:
//	更新:2002/12/25
//	作者:0200980胡德華
/******************************************************************************/
bool CGfL::Transform(bool *Out,bool *In,const char *Table,UINT len)
{
    static bool Tmp[128];

	CHECK( Out && In && Table && len<=128 )

	for(UINT i=0; i<len; ++i)
	{
		// 注意必須是 Table[i]-1,因為表中的起始位為1,而C語言中的數組下標從0開始
        Tmp[i] = In[ Table[i]-1 ];
	}

    memcpy(Out,Tmp,len);

	return true;
}
/******************************************************************************/
//	名稱:RotateL
//	功能:循環左移
//  參數:len—移動數據的長度;loop—循環左移的長度
//	返回:左移成功返回true,否則返回false
//  備注:
//	更新:2002/12/25
//	作者:0200980胡德華
/******************************************************************************/
bool CGfL::RotateL(char *In,UINT len,UINT loop)
{
    static char Tmp[256];

	CHECK( In && len && (loop%=len)<=256 )

	memcpy(Tmp,In,loop);
    memcpy(In,In+loop,len-loop);
    memcpy(In+len-loop,Tmp,loop);

	return true;
}
/******************************************************************************/
//	名稱:Xor
//	功能:異或
//  參數:
//	返回:異或成功返回true,否則返回false
//  備注:
//	更新:2002/12/25
//	作者:0200980胡德華
/******************************************************************************/
bool CGfL::Xor(bool *InA,const bool *InB,UINT len)
{
	CHECK( InA && InB )

	for(UINT i=0; i<len; ++i)
	{
        InA[i] ^= InB[i];   
	}

	return true;
}
/******************************************************************************/
//	名稱:ByteToBit
//	功能:將字節組轉換成位組
//  參數:len—字節組長度;num—一個字節轉換成幾個位字節
//	返回:轉換成功返回true,否則返回false
//  備注:
//	更新:2002/12/25
//	作者:0201005劉紅旗
/******************************************************************************/
bool CGfL::ByteToBit(bool *Out,const char *In,UINT len,UINT num)
{
	CHECK( Out && In && num<=8 )

	for(UINT i=0,j; i<len; ++i,Out+=num)
	{
		for(j=0; j<num; ++j)
		{
			Out[j] = (In[i]>>j) & 1;
		}
	}

	return true;
}
/******************************************************************************/
//	名稱:BitToByte
//	功能:將位組轉換成字節組
//  參數:len—位組長度;num—幾個位字節轉換成一個字節
//	返回:轉換成功返回true,否則返回false
//  備注:
//	更新:2002/12/25
//	作者:0201005劉紅旗
/******************************************************************************/
bool CGfL::BitToByte(char *Out,const bool *In,UINT len,UINT num)
{
	CHECK( Out && In )

	memset(Out,0,(len+num-1)/num);
    for(UINT i=0,j,L=len/num; i<L; ++i,In+=num)
	{
		for(j=0; j<num; ++j)
		{
			Out[i] |= In[j]<<j;
		}
	}
	for(j=0; j<len%num; ++j)
	{
		Out[i] |= In[j]<<j;
	}

	return true;
}
/******************************************************************************/
//	名稱:HalfByteToByte
//	功能:將半字節組轉換成字節組
//  參數:
//	返回:轉換成功返回true,否則返回false
//  備注:
//	更新:2002/12/25
//	作者:0201005劉紅旗
/******************************************************************************/
bool CGfL::HalfByteToByte(char *Out,const char *In,UINT len)
{
	CHECK( Out && In )

	for(UINT i=0,j=len>>1; i<j; ++i)
	{
		*Out = In[0];
		*Out |= In[1]<<4;
		++Out; In += 2;
	}
   
	if( len%2 )
		*Out = *In;

	return true;
}
/******************************************************************************/
//	名稱:ByteToHalfByte
//	功能:將字節組轉換成半字節組
//  參數:
//	返回:轉換成功返回true,否則返回false
//  備注:
//	更新:2002/12/25
//	作者:0201005劉紅旗
/******************************************************************************/
bool CGfL::ByteToHalfByte(char *Out,const char *In,UINT len)
{
	CHECK( Out && In )

	for(UINT i=0; i<len; ++i)
	{
		Out[0] = (*In)&0xf;
		Out[1] = ((*In)>>4)&0xf;
		Out += 2; ++In;
	}

	return true;
}
/******************************************************************************/
//	名稱:StrToHalfByte
//	功能:將字符串轉換成半字節組
//  參數:
//	返回:合法字符('0'-'9','A'-'F')的個數
//  備注:
//	更新:2002/12/25
//	作者:0201005劉紅旗
/******************************************************************************/
int CGfL::StrToHalfByte(char *Out,char *In,UINT len)
{
	CHECK( Out && In )

	for(UINT i=0,j=0; i<len; ++i)
	{
		if( (In[i]>='0') && (In[i]<='9') )
			Out[j++] = In[i]-'0';
		else if( (In[i]>='A') && (In[i]<='F') )
			Out[j++] = In[i]-'A'+10;
		else if( (In[i]>='a') && (In[i]<='f') )
			Out[j++] = In[i]-'a'+10;
	}

	return j;
}
/******************************************************************************/
//	名稱:HalfByteToStr
//	功能:將半字節組轉換成字符串
//  參數:
//	返回:合法數(0-15)的個數
//  備注:
//	更新:2002/12/25
//	作者:0201005劉紅旗
/******************************************************************************/
int  CGfL::HalfByteToStr(char *Out,char *In,UINT len)
{
	CHECK( Out && In )

	for(UINT i=0,j=0; i<len; ++i)
	{
		if( (In[i]>=0) && (In[i]<10) )
			Out[j++] = In[i]+'0';
		else if( (In[i]>9) && (In[i]<16) )
			Out[j++] = In[i]-10+'A';
	}
	Out[j] = '\0';

	return j-1;
}

///////////////////////////////////////////////////////////////////////////////
// End of Files
///////////////////////////////////////////////////////////////////////////////

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美私模裸体表演在线观看| 亚洲mv大片欧洲mv大片精品| 国产麻豆成人传媒免费观看| 日韩视频中午一区| 精品一区二区成人精品| 亚洲精品一线二线三线| 国产69精品一区二区亚洲孕妇| 国产亲近乱来精品视频| 成人av一区二区三区| 亚洲天堂网中文字| 欧美日本在线观看| 狠狠网亚洲精品| 国产精品久久久久影院亚瑟| 色屁屁一区二区| 日韩黄色免费电影| 久久久久九九视频| 色哟哟精品一区| 日韩精品一卡二卡三卡四卡无卡| 日韩精品一区二区三区三区免费 | 91麻豆精品国产91久久久久| 蜜桃在线一区二区三区| 中文字幕欧美日本乱码一线二线| 色8久久精品久久久久久蜜| 午夜a成v人精品| 国产欧美精品一区aⅴ影院| 91国产免费观看| 六月丁香婷婷久久| 国产精品电影一区二区三区| 欧美高清www午色夜在线视频| 国产精品18久久久久久久久久久久 | 亚洲国产欧美在线| 欧美成人乱码一区二区三区| av电影在线观看一区| 日韩激情av在线| 国产精品伦理一区二区| 欧美一卡2卡三卡4卡5免费| 高清久久久久久| 午夜激情一区二区三区| 国产精品色眯眯| 日韩亚洲欧美综合| 91在线观看成人| 国精品**一区二区三区在线蜜桃| 亚洲欧美成aⅴ人在线观看| 精品理论电影在线| 色婷婷国产精品| 国产乱码精品一区二区三区av | 日本高清视频一区二区| 激情综合色播五月| 亚洲成人综合网站| 亚洲黄色在线视频| 国产精品日日摸夜夜摸av| 日韩欧美一区二区在线视频| 欧美综合在线视频| 99麻豆久久久国产精品免费| 久久99精品久久久久久动态图| 亚洲第一会所有码转帖| 综合久久久久综合| 国产精品欧美一区喷水| 久久久久久99久久久精品网站| 91精品国产日韩91久久久久久| 在线亚洲+欧美+日本专区| 91一区在线观看| 成人一道本在线| 国产精品亚洲视频| 国产一区二区三区高清播放| 蜜桃av一区二区三区电影| 亚洲成人综合在线| 亚洲va中文字幕| 婷婷中文字幕一区三区| 亚洲午夜羞羞片| 亚洲 欧美综合在线网络| 亚洲免费在线电影| 亚洲欧美日韩久久精品| 亚洲欧美二区三区| 亚洲精品你懂的| 一级特黄大欧美久久久| 一区二区免费在线播放| 亚洲美女电影在线| 亚洲男同性视频| 亚洲综合图片区| 亚洲成人1区2区| 免费久久99精品国产| 乱中年女人伦av一区二区| 麻豆成人av在线| 国产最新精品精品你懂的| 国产伦精品一区二区三区免费 | 国产成人精品一区二区三区网站观看| 麻豆免费精品视频| 国产精品一区二区在线观看网站| 国产麻豆精品在线观看| 成人h动漫精品| 欧美图片一区二区三区| 欧美精品xxxxbbbb| 久久亚洲捆绑美女| 国产精品私人自拍| 亚洲精品久久嫩草网站秘色| 性久久久久久久久久久久| 日本不卡一二三区黄网| 精品在线免费观看| www..com久久爱| 欧美午夜片在线看| 精品免费日韩av| 国产精品美女久久久久久2018| 亚洲精品五月天| 日本伊人色综合网| 国产激情精品久久久第一区二区| 成人av中文字幕| 欧美日韩精品电影| 久久久高清一区二区三区| 中文字幕在线免费不卡| 亚洲图片欧美一区| 久久精工是国产品牌吗| 99精品一区二区三区| 欧美一区二区三区免费观看视频| 久久亚洲一区二区三区四区| 亚洲精品综合在线| 国产真实乱偷精品视频免| 99麻豆久久久国产精品免费 | 色综合久久88色综合天天6| 欧美另类久久久品| 国产女主播视频一区二区| 亚洲国产精品嫩草影院| 激情久久久久久久久久久久久久久久| jvid福利写真一区二区三区| 欧美精品在线一区二区三区| 欧美国产成人精品| 日日欢夜夜爽一区| 91亚洲资源网| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲最大成人网4388xx| 国产一区二区女| 欧美精品 国产精品| 亚洲人成精品久久久久久| 国产一区二区三区四区五区美女| 91在线观看视频| 国产日韩av一区| 麻豆一区二区99久久久久| 91福利视频网站| 国产精品无码永久免费888| 青青草精品视频| 在线看国产一区| 亚洲欧美在线另类| 精品在线免费视频| 69p69国产精品| 亚洲影视资源网| jvid福利写真一区二区三区| 久久久激情视频| 国内精品国产三级国产a久久| 欧美日韩在线综合| 一区二区三区国产精华| 成人app软件下载大全免费| 久久久五月婷婷| 美女免费视频一区| 欧美日本国产视频| 亚洲国产成人av| 欧美色视频一区| 亚洲国产毛片aaaaa无费看| 色婷婷综合久色| 亚洲日本免费电影| 色综合天天天天做夜夜夜夜做| 久久久久国产精品麻豆| 国产精品一二三| 久久久精品免费网站| 久久99国产精品尤物| 精品国产电影一区二区| 久久99国产精品麻豆| 日韩午夜在线影院| 国产一区二区在线免费观看| 精品国产百合女同互慰| 国产一区 二区| 国产欧美一区二区三区鸳鸯浴| 国产精品1024久久| 国产精品美女久久久久久| 91一区二区三区在线播放| 亚洲综合视频在线| 欧美精品视频www在线观看| 日本不卡的三区四区五区| 欧美一区二区三区精品| 久久精品国产亚洲一区二区三区| 欧美va在线播放| 国产不卡视频在线播放| 国产精品短视频| 欧美三级日韩在线| 美国十次了思思久久精品导航| 精品女同一区二区| www.亚洲在线| 亚洲一区二区三区国产| 欧美一区二区成人| 国产传媒久久文化传媒| 亚洲色图视频免费播放| 欧美午夜电影网| 精品影院一区二区久久久| 国产精品色婷婷久久58| 欧美天天综合网| 极品美女销魂一区二区三区免费 | 亚洲色大成网站www久久九九| 日本道色综合久久| 日韩电影在线免费| 中文字幕不卡在线观看| 欧美午夜精品久久久|