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

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

?? rc4test.cpp

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

#include "common.h"
#include "RC4Test.h"

RC4Test::RC4Test(char* dll_file_path):CP11TestBase(dll_file_path)
{
	m_hKey = 0;
}

RC4Test::~RC4Test()
{
	m_hKey = 0;
}

void RC4Test::Test()
{
	if(CKR_OK != Initialize())
		return;
	
	GenerateKey();
	if(m_hKey == 0)
	{
		Finalize();
		return ;
	}
	crypt_single();
	crypt_Update();
	Finalize();
}

void RC4Test::GenerateKey()
{
	CK_OBJECT_CLASS oClass = CKO_SECRET_KEY;
	CK_KEY_TYPE keyType = CKK_RC4; 
	CK_BBOOL bTrue = true;
	CK_BBOOL bFalse = false;
	CK_ULONG ulLen = 16;
	CK_ATTRIBUTE rc4tem[] = {
		{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_MECHANISM mechanism = {CKM_RC4_KEY_GEN, NULL, 0};

	CK_RV rv =  m_p11->C_GenerateKey(m_hSession, &mechanism, rc4tem, ulCount, &m_hKey); 
	_CheckRV("Generate RC4 key", rv);
}

void RC4Test::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 = {CKM_RC4};
	CK_BYTE_PTR bHint[] = {(CK_BYTE_PTR)"CKM_RC4: "};

	printf("\nRC4: C_Encrypt()/C_Decrypt(): %s\n", bHint[0]);

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

	//ecnrypt init:
	CK_MECHANISM ckMechanism = {Mechanism, NULL, 0};
	CK_RV rv =  m_p11->C_EncryptInit(m_hSession, &ckMechanism, m_hKey); 
	if(!_CheckRV("C_EncryptInit()", rv))
		return;
	
	ulTemp = 0;
	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))
		return;

	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))
		return;

	ulOut = 0;
	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))
		return;

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

void RC4Test::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_BYTE_PTR bHint[] = {(CK_BYTE_PTR)"CKM_RC4 "};

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

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

	//ecnrypt init:
	CK_MECHANISM ckMechanism = {CKM_RC4, NULL, 0};

	CK_RV rv =  m_p11->C_EncryptInit(m_hSession, &ckMechanism, m_hKey); 
	if(!_CheckRV("C_EncryptInit()", rv))
		return;
		
	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))
		return;

	ulEncrypted+=ulTemp;
	ulTemp = 0;

	rv =  m_p11->C_EncryptUpdate(m_hSession, bIn, 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))
		return;

	ulEncrypted+=ulTemp;
	ulTemp = 0;

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

	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))
		return;

	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))
		return;

	ulDecrypt +=ulOut;
	ulOut = 0;
	rv =  m_p11->C_DecryptUpdate(m_hSession, bTemp, 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))
		return;

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

	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国产精品视频免费观看| 欧美电影一区二区| 1000部国产精品成人观看| 日韩主播视频在线| 99精品一区二区| 国产精品乱码一区二三区小蝌蚪| 国产一区二区免费看| 欧美mv和日韩mv国产网站| 欧美一区二区啪啪| 一区二区三区日韩精品视频| 成人蜜臀av电影| 久久久久久久久免费| 精品一区二区免费在线观看| 日韩一区二区在线观看视频播放| 亚洲精品国产a久久久久久| 日本伊人精品一区二区三区观看方式| 97久久超碰精品国产| 亚洲视频资源在线| 丰满白嫩尤物一区二区| 中文字幕五月欧美| 在线区一区二视频| 一区二区三区精品在线| 7777精品久久久大香线蕉| 久久99精品一区二区三区三区| 日韩欧美卡一卡二| 99在线精品观看| 尤物av一区二区| 欧美高清性hdvideosex| 国产+成+人+亚洲欧洲自线| 日本一二三不卡| 欧美一级日韩免费不卡| 色噜噜狠狠色综合欧洲selulu| 久久国产夜色精品鲁鲁99| 亚洲精品高清在线| 中文av一区二区| 精品免费国产一区二区三区四区| 成人精品一区二区三区四区 | 国产成人免费av在线| 午夜电影网亚洲视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 91精品福利在线一区二区三区| 97久久精品人人澡人人爽| 久久99精品一区二区三区三区| 久久99精品国产.久久久久| 一区二区高清免费观看影视大全| 99久久精品国产毛片| 国产91精品精华液一区二区三区| 婷婷开心久久网| 午夜亚洲国产au精品一区二区| 亚洲精品一卡二卡| 国产精品狼人久久影院观看方式| 国产精品私人影院| 亚洲成人久久影院| 亚洲成精国产精品女| 久久er精品视频| 久久国产剧场电影| 久久国产精品99久久人人澡| 欧美激情一区二区在线| 成a人片亚洲日本久久| 国产精品久久久久一区二区三区共| 国产婷婷色一区二区三区| 亚洲国产日韩av| 26uuu久久综合| 国产精品麻豆一区二区| 亚洲国产综合人成综合网站| 午夜激情一区二区| 韩国一区二区三区| 欧美在线视频日韩| 26uuu国产电影一区二区| 亚洲欧美欧美一区二区三区| 一区二区成人在线| 国产福利一区二区三区| 色吊一区二区三区| 国产欧美一区二区在线| 午夜精品一区二区三区电影天堂| 国产精品一区不卡| 日韩午夜在线观看视频| 亚洲欧美日韩电影| 欧美中文字幕不卡| 成人h精品动漫一区二区三区| 国产精品亚洲专一区二区三区| av在线不卡观看免费观看| 色婷婷av一区| 久久久蜜桃精品| 亚洲国产色一区| 91精品福利视频| 国产免费观看久久| 视频在线观看91| 在线视频欧美区| 怡红院av一区二区三区| 91在线国内视频| 亚洲欧洲三级电影| 成人av动漫网站| 亚洲国产精品传媒在线观看| 国产精品一区一区三区| 日韩视频免费观看高清完整版 | 91无套直看片红桃| 国产亚洲婷婷免费| 国产精品亚洲一区二区三区妖精 | 国产欧美精品一区二区三区四区| 亚洲福利视频一区二区| 91福利区一区二区三区| 亚洲视频在线一区二区| 99久久亚洲一区二区三区青草 | 蜜臀av国产精品久久久久| 久久蜜桃av一区二区天堂| 国产成人aaaa| 亚洲色欲色欲www| 91在线播放网址| 亚洲成人高清在线| 日韩欧美激情一区| 91在线丨porny丨国产| 亚洲一级二级三级在线免费观看| 日韩欧美电影一区| 成人国产免费视频| 日本午夜精品视频在线观看| 中文字幕高清一区| 亚洲精品视频在线看| 成人精品免费网站| 视频一区二区欧美| 国产精品久久久久国产精品日日| 五月天丁香久久| 中文字幕精品综合| 欧美一区二区美女| 一本大道久久精品懂色aⅴ| 亚洲图片欧美视频| 亚洲精品在线网站| 欧洲一区二区av| 在线看一区二区| 在线观看亚洲专区| 成人性色生活片免费看爆迷你毛片| 亚洲伊人色欲综合网| 欧美大片一区二区| 91精品国产乱码久久蜜臀| 欧美日韩中文精品| 色呦呦一区二区三区| 国产aⅴ综合色| 国产毛片精品国产一区二区三区| 天天综合日日夜夜精品| 亚洲免费资源在线播放| 中文子幕无线码一区tr| 日本亚洲最大的色成网站www| 五月天视频一区| 视频一区二区三区入口| 另类小说色综合网站| 久久精品国产亚洲5555| 蜜臀久久久99精品久久久久久| 三级欧美在线一区| 麻豆精品一二三| 国产自产高清不卡| 成人做爰69片免费看网站| 国产精品一区二区在线观看不卡| 国产成人av福利| 欧美午夜片在线看| 777奇米四色成人影色区| 精品国产乱码久久久久久牛牛| 精品国产伦理网| 国产精品久久久久影院亚瑟| 一二三四社区欧美黄| 美女视频一区在线观看| 东方欧美亚洲色图在线| 在线观看网站黄不卡| 日韩精品一区二区三区视频在线观看| 国产亚洲成av人在线观看导航| 亚洲视频免费观看| 日韩欧美在线一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 久久久久久久免费视频了| 亚洲精品免费电影| 日韩高清一级片| 色域天天综合网| 久久久国际精品| 日本 国产 欧美色综合| 91久久精品一区二区二区| 久久久777精品电影网影网 | 国产视频一区二区三区在线观看| 亚洲一区二区三区激情| 国产成人在线视频网址| 51精品视频一区二区三区| 亚洲国产精品国自产拍av| 日本最新不卡在线| 欧美理论片在线| 亚洲一区二区三区四区五区中文| 韩国毛片一区二区三区| 日韩小视频在线观看专区| 日韩精品一级二级 | 欧美色图免费看| 亚洲成va人在线观看| 欧美日韩亚洲综合一区| 国产精品二三区| 91免费视频网址| 亚洲一二三区不卡|