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

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

?? rc2test.cpp

?? PKCS#11 讀取USB KEY證書
?? CPP
字號:

#include "common.h"
#include "RC2Test.h"

RC2Test::RC2Test(char* dll_file_path):CP11TestBase(dll_file_path)
{
	m_hKey = 0;
}
RC2Test::~RC2Test()
{
}
void RC2Test::Test()
{
	if(CKR_OK != Initialize())
		return;
	
	GenerateKey();

	if(m_hKey == 0)
	{
		Finalize();
		return ;
	}
	crypt_Single();
	crypt_Update();
	Finalize();
}

void RC2Test::GenerateKey()
{
	CK_OBJECT_CLASS oClass = CKO_SECRET_KEY;
	CK_KEY_TYPE keyType = CKK_RC2; 
	CK_BBOOL bTrue = true;
	CK_BBOOL bFalse = false;
	CK_ULONG ulLen = 16;//bytes:1~128
	CK_MECHANISM mechanism = {CKM_RC2_KEY_GEN, NULL_PTR, 0};
	CK_ATTRIBUTE rc2tem[] = {
		{CKA_CLASS, &oClass, sizeof(CK_OBJECT_CLASS)},
		{CKA_KEY_TYPE, &keyType, sizeof(CK_KEY_TYPE)},
		{CKA_TOKEN, &bFalse, sizeof(CK_BBOOL)},
		{CKA_PRIVATE, &bTrue, sizeof(CK_BBOOL)},
		{CKA_ENCRYPT, &bTrue, sizeof(CK_BBOOL)},
		{CKA_DECRYPT, &bTrue, sizeof(CK_BBOOL)},
		{CKA_VALUE_LEN, &ulLen, sizeof(CK_ULONG)}, 
	};
	CK_ULONG ulCount = 7;
	CK_RV rv =  m_p11->C_GenerateKey(m_hSession, &mechanism, rc2tem, ulCount, &m_hKey); 
	_CheckRV("Generate RC2 key", rv);
}

void RC2Test::crypt_Single()
{
	const CK_ULONG DATA_LENGTH = 1024;
	CK_BYTE bIn[DATA_LENGTH] = {0}, bTemp[DATA_LENGTH] = {0}, bOut[DATA_LENGTH] = {0};
	CK_ULONG ulIn = 0, ulOut = 0, ulTemp = 0;
	CK_ULONG Mechanism[3] = {CKM_RC2_CBC, CKM_RC2_ECB, CKM_RC2_CBC_PAD};
	CK_BYTE_PTR bHint[3] = {
		(CK_BYTE_PTR)"CKM_RC2_CBC: ",
		(CK_BYTE_PTR)"CKM_RC2_ECB: ",
		(CK_BYTE_PTR)"CKM_RC2_CBC_PAD: "
	};

	for(int i = 0; i < 3; ++i)
	{
		ulIn = 256;
		if(i==2)
			ulIn = 337;
		for(register CK_ULONG i0 = 0;i0<ulIn;i0++)
			bIn[i0] = (CK_BYTE)i0;
		
		
		printf("\nRC2: C_Encrypt()/C_Decrypt(): %s\n", bHint[i]);

		//ecnrypt init:
		CK_BYTE iv[8] = {'u','s','b','t','o','k','e','n'};
		CK_RC2_CBC_PARAMS Param;
		memcpy(Param.iv, iv, sizeof(iv));
		Param.ulEffectiveBits = 16*8;
		CK_MECHANISM ckMechanism = {Mechanism[i], &Param, sizeof(CK_RC2_CBC_PARAMS)};

		CK_RV rv =  m_p11->C_EncryptInit(m_hSession, &ckMechanism, m_hKey); 
		if(!_CheckRV("C_EncryptInit()", rv))
			break;

		rv =  m_p11->C_Encrypt(m_hSession, bIn, ulIn, NULL, &ulTemp);
		if(CKR_OK == rv)
			rv =  m_p11->C_Encrypt(m_hSession, bIn, ulIn, bTemp, &ulTemp);
		if(!_CheckRV("C_Encrypt()", rv))
			break;

		ShowData("Data to be encrypted: ", bIn, ulIn);
		ShowData("Data encrypted: ", bTemp, ulTemp);

		rv =  m_p11->C_DecryptInit(m_hSession, &ckMechanism, m_hKey);
		if(!_CheckRV("C_DecryptInit()", rv))
			break;

		rv =  m_p11->C_Decrypt(m_hSession, bTemp, ulTemp, NULL, &ulOut);
		if(CKR_OK == rv)
			rv =  m_p11->C_Decrypt(m_hSession, bTemp, ulTemp, bOut, &ulOut);
		if(!_CheckRV("C_Decrypt()", rv))
			break;

		ShowData("Data decrypted: ", bOut, ulOut);

		if(0 == memcmp(bIn, bOut, ulOut))
			_CheckRV("Check data", CKR_OK);
		else
			_CheckRV("Check data", CKR_FUNCTION_FAILED);
	}
}

void RC2Test::crypt_Update()
{
	const CK_ULONG DATA_LENGTH = 1024;
	CK_BYTE bIn[DATA_LENGTH] = {0}, bTemp[DATA_LENGTH] = {0}, bOut[DATA_LENGTH] = {0};
	CK_ULONG ulIn = 0, ulOut = 0, ulTemp = 0;
	CK_ULONG Mechanism[3] = {CKM_RC2_CBC, CKM_RC2_ECB, CKM_RC2_CBC_PAD};
	CK_BYTE_PTR bHint[3] = {
		(CK_BYTE_PTR)"CKM_RC2_CBC: ",
		(CK_BYTE_PTR)"CKM_RC2_ECB: ",
		(CK_BYTE_PTR)"CKM_RC2_CBC_PAD: "
	};

	for(int i = 0; i < 3; ++i)
	{
		ulIn = 256;
		if(i == 2)
		{//CKM_RC2_CBC_PAD
			ulIn = 253;
		}

		for(CK_ULONG i0 = 0; i0 < ulIn; ++i0)
			bIn[i0] = (CK_BYTE)i0;

		printf("\nRC2: C_EncryptUpdate()/C_DecryptUpdate(): %s\n", bHint[i]);

		//ecnrypt init:
		CK_BYTE iv[8] = {'u','s','b','t','o','k','e','n'};
		CK_RC2_CBC_PARAMS Param;
		memcpy(Param.iv, iv, sizeof(iv));
		Param.ulEffectiveBits = 16*8;
		CK_MECHANISM ckMechanism = {Mechanism[i], &Param, sizeof(CK_RC2_CBC_PARAMS)};

		CK_RV rv =  m_p11->C_EncryptInit(m_hSession, &ckMechanism, m_hKey); 
		if(!_CheckRV("C_EncryptInit()", rv))
			break;
		
		CK_ULONG ulEncrypted = 0;
		const CK_ULONG ulEnc1stPice = 33;

		rv = m_p11->C_EncryptUpdate(m_hSession, bIn, ulEnc1stPice, NULL, &ulTemp);
		if(CKR_OK == rv)
			rv = m_p11->C_EncryptUpdate(m_hSession, bIn, ulEnc1stPice, bTemp, &ulTemp);

		if(!_CheckRV("C_EncryptUpdate(1)", rv))
			break;

		ulEncrypted+=ulTemp;
		ulTemp = 0;

		rv = m_p11->C_EncryptUpdate(m_hSession,  &(bIn[ulEnc1stPice]), ulIn-ulEnc1stPice, NULL, &ulTemp);
		if(CKR_OK == rv)
			rv = m_p11->C_EncryptUpdate(m_hSession, &(bIn[ulEnc1stPice]), ulIn-ulEnc1stPice, &(bTemp[ulEncrypted]), &ulTemp);
		if(!_CheckRV("C_EncryptUpdate(2)", rv))
			break;

		ulEncrypted+=ulTemp;
		ulTemp = 0;

		rv = m_p11->C_EncryptFinal(m_hSession, &(bTemp[ulEncrypted]), &ulTemp);
		if(!_CheckRV("C_EncryptFinal()", rv))
			break;

		ulEncrypted+=ulTemp;
		ulTemp = 0;

		ShowData("Data to be encrypted: ", bIn, ulIn);
		ShowData("Data encrypted: ", bTemp, ulEncrypted);

		rv =  m_p11->C_DecryptInit(m_hSession, &ckMechanism, m_hKey);
		if(!_CheckRV("C_DecryptInit()", rv))
			break;

		CK_ULONG ulDecrypt = 0;
		const CK_ULONG ulDec1stPice = 11;
		rv =  m_p11->C_DecryptUpdate(m_hSession, bTemp, ulDec1stPice, NULL, &ulOut);
		if(CKR_OK == rv)
			rv =  m_p11->C_DecryptUpdate(m_hSession, bTemp, ulDec1stPice, bOut, &ulOut);
		if(!_CheckRV("C_DecryptUpdate(1)", rv))
			break;

		ulDecrypt +=ulOut;
		ulOut = 0;
		//Get decrypted data:
		rv =  m_p11->C_DecryptUpdate(m_hSession, &(bTemp[ulDec1stPice]), ulEncrypted-ulDec1stPice, NULL, &ulOut);
		if(CKR_OK == rv)
			rv =  m_p11->C_DecryptUpdate(m_hSession, &(bTemp[ulDec1stPice]), ulEncrypted-ulDec1stPice, &(bOut[ulDecrypt]), &ulOut);
		if(!_CheckRV("C_DecryptUpdate(2)", rv))
			break;

		ulDecrypt +=ulOut;
		ulOut = 0;

		rv = m_p11->C_DecryptFinal(m_hSession, &(bOut[ulDecrypt]), &ulOut);
		if(!_CheckRV("C_DecryptFinal()", rv))
			break;

		ulDecrypt +=ulOut;

		ShowData("Data decrypted: ", bOut, ulDecrypt);
		
		if(0 == memcmp(bIn, bOut, ulDecrypt))
			_CheckRV("Check data", CKR_OK);
		else
			_CheckRV("Check data", CKR_FUNCTION_FAILED);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲自拍都市欧美小说| 精品免费国产二区三区| 亚洲蜜桃精久久久久久久| 99国产精品国产精品久久| 国产精品久久久久久久久久免费看| 国产成a人亚洲| 亚洲欧洲一区二区在线播放| 色琪琪一区二区三区亚洲区| 亚洲成人自拍偷拍| 精品嫩草影院久久| 成人一区二区三区在线观看| 亚洲精品国产精品乱码不99| 欧美电影在哪看比较好| 久久99久久99小草精品免视看| 国产视频在线观看一区二区三区| 成人av在线影院| 亚洲国产视频网站| xf在线a精品一区二区视频网站| 成人av资源下载| 婷婷丁香激情综合| 国产欧美一区二区在线观看| 日本高清成人免费播放| 另类综合日韩欧美亚洲| 国产精品久久久久精k8| 欧美美女bb生活片| 国产精品一区二区91| 一区二区三区精品| 精品处破学生在线二十三| 91美女片黄在线观看91美女| 奇米四色…亚洲| 亚洲色图制服丝袜| 日韩欧美一级二级三级| 色婷婷久久久亚洲一区二区三区 | 国产乱码一区二区三区| 一区二区三区在线观看欧美| 精品国产髙清在线看国产毛片| 99视频精品免费视频| 麻豆久久久久久| 亚洲尤物在线视频观看| 日本一区二区三区四区在线视频| 欧美精品国产精品| 91网站视频在线观看| 国产精品18久久久久| 午夜成人在线视频| 亚洲三级在线播放| 久久久久久久久久美女| 91精品国产91久久久久久一区二区 | 亚洲成人激情av| 国产精品久久久久精k8| 精品欧美一区二区三区精品久久| 精品视频在线免费看| www.日韩精品| 国产精品中文字幕日韩精品| 午夜欧美在线一二页| 1000部国产精品成人观看| 久久精品一级爱片| 精品成人a区在线观看| 在线不卡一区二区| 欧美色精品在线视频| 99久久精品免费| 成人一道本在线| 成人免费的视频| 成人精品视频一区二区三区| 久久国产精品99久久人人澡| 日韩高清一区二区| 午夜国产不卡在线观看视频| 亚洲夂夂婷婷色拍ww47| 亚洲人午夜精品天堂一二香蕉| 国产精品无圣光一区二区| 国产农村妇女精品| 亚洲国产精品精华液ab| 欧美国产禁国产网站cc| 国产欧美一区视频| 国产精品精品国产色婷婷| 久久久综合视频| 久久精品综合网| 国产农村妇女精品| 最新热久久免费视频| 中文字幕一区二区在线播放| 亚洲视频免费看| 亚洲一区二区中文在线| 亚洲国产精品精华液网站| 日韩精品一级二级| 另类中文字幕网| 国产99久久久久久免费看农村| 国产成人自拍网| 不卡的电影网站| 色菇凉天天综合网| 欧美精品丝袜中出| 欧美大片一区二区三区| 久久久久国产精品厨房| 欧美极品aⅴ影院| 亚洲精品国产无天堂网2021| 天堂一区二区在线| 激情国产一区二区| 成人一级视频在线观看| 日本精品视频一区二区| 欧美乱妇23p| 亚洲精品一区二区三区四区高清| 国产日本欧美一区二区| 亚洲女同一区二区| 免费在线观看一区二区三区| 国产一区欧美日韩| 91丨porny丨蝌蚪视频| 欧美三级韩国三级日本一级| 日韩欧美久久一区| 欧美国产一区二区| 一区二区不卡在线视频 午夜欧美不卡在| 视频一区视频二区中文字幕| 国产一区二区在线观看免费| 91丝袜美腿高跟国产极品老师 | 久久精品男人天堂av| 中文字幕一区二区三区不卡在线 | 亚洲女同ⅹxx女同tv| 日日夜夜免费精品| 国产a视频精品免费观看| 欧美综合一区二区三区| xnxx国产精品| 亚洲国产一二三| 夫妻av一区二区| 欧美日韩电影在线| 国产精品婷婷午夜在线观看| 天天爽夜夜爽夜夜爽精品视频| 国产精品一区二区久久精品爱涩| 欧美三级在线看| 国产精品视频一二三| 日韩电影免费在线观看网站| 成人av资源在线| 久久综合久久鬼色中文字| 亚洲永久精品大片| 成人午夜视频免费看| 91精品蜜臀在线一区尤物| 日韩理论电影院| 国产精品69久久久久水密桃| 欧美一级精品在线| 亚洲专区一二三| 91在线porny国产在线看| 久久久久久免费网| 秋霞午夜鲁丝一区二区老狼| 91国偷自产一区二区开放时间 | 国产乱淫av一区二区三区| 在线电影院国产精品| 一区二区三区四区不卡视频 | 99re成人精品视频| 久久久91精品国产一区二区精品| 日韩影视精彩在线| 欧美中文字幕亚洲一区二区va在线 | av亚洲产国偷v产偷v自拍| 欧美成人video| 丝袜亚洲精品中文字幕一区| 欧美网站一区二区| 一区二区三区日韩精品| 99久久精品99国产精品| 国产精品入口麻豆原神| 国产精品亚洲一区二区三区妖精 | 亚洲精品成人精品456| thepron国产精品| 国产精品视频观看| 高清beeg欧美| 国产视频一区二区在线观看| 国产激情一区二区三区桃花岛亚洲| 日韩免费成人网| 精东粉嫩av免费一区二区三区| 91精品国产麻豆| 秋霞国产午夜精品免费视频| 欧美日本一道本| 日本人妖一区二区| 91麻豆精品国产综合久久久久久| 亚洲午夜电影在线观看| 精品视频在线视频| 日韩激情一二三区| 欧美一区二区三区在线| 日本成人在线看| 日韩精品最新网址| 激情丁香综合五月| 国产人久久人人人人爽| 成人av中文字幕| 亚洲精品美腿丝袜| 欧美日韩一区视频| 国产综合久久久久影院| 久久精品夜夜夜夜久久| 成人免费视频视频在线观看免费| 亚洲欧美在线高清| 91激情在线视频| 日本不卡一区二区| 精品成人佐山爱一区二区| 国产精品亚洲一区二区三区妖精| 欧美国产日韩在线观看| av一区二区三区黑人| 一区二区在线免费观看| 欧美一区二区观看视频| 国产毛片精品视频| 中文字幕一区二区三区在线播放 | 欧美大片在线观看一区二区| 亚洲午夜视频在线| 136国产福利精品导航| 久久精品国产精品亚洲综合| 久久一夜天堂av一区二区三区| 99麻豆久久久国产精品免费| 亚洲一二三级电影|