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

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

?? dlltest.cpp

?? 利用VC編寫的加解密算法程序,包括DES、RSA等多個算法
?? CPP
字號:
#ifndef CRYPTOPP_DLL_ONLY
#define CRYPTOPP_DEFAULT_NO_DLL
#endif

#include "dll.h"
#include <iostream>

USING_NAMESPACE(CryptoPP)
USING_NAMESPACE(std)

void FIPS140_SampleApplication()
{
	if (!FIPS_140_2_ComplianceEnabled())
	{
		cerr << "FIPS 140-2 compliance was turned off at compile time.\n";
		abort();
	}

	// check self test status
	if (GetPowerUpSelfTestStatus() != POWER_UP_SELF_TEST_PASSED)
	{
		cerr << "Automatic power-up self test failed.\n";
		abort();
	}
	cout << "0. Automatic power-up self test passed.\n";

	// simulate a power-up self test error
	SimulatePowerUpSelfTestFailure();
	try
	{
		// trying to use a crypto algorithm after power-up self test error will result in an exception
		AES::Encryption aes;

		// should not be here
		cerr << "Use of AES failed to cause an exception after power-up self test error.\n";
		abort();
	}
	catch (SelfTestFailure &e)
	{
		cout << "1. Caught expected exception when simulating self test failure. Exception message follows: ";
		cout << e.what() << endl;
	}

	// clear the self test error state and redo power-up self test
	DoDllPowerUpSelfTest();
	if (GetPowerUpSelfTestStatus() != POWER_UP_SELF_TEST_PASSED)
	{
		cerr << "Re-do power-up self test failed.\n";
		abort();
	}
	cout << "2. Re-do power-up self test passed.\n";

	// encrypt and decrypt
	const byte key[] = {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef};
	const byte iv[] = {0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef};
	const byte plaintext[] = {	// "Now is the time for all " without tailing 0
		0x4e,0x6f,0x77,0x20,0x69,0x73,0x20,0x74,
		0x68,0x65,0x20,0x74,0x69,0x6d,0x65,0x20,
		0x66,0x6f,0x72,0x20,0x61,0x6c,0x6c,0x20};
	byte ciphertext[24];
	byte decrypted[24];

	CFB_FIPS_Mode<DES_EDE3>::Encryption encryption_DES_EDE3_CFB;
	encryption_DES_EDE3_CFB.SetKeyWithIV(key, sizeof(key), iv);
	encryption_DES_EDE3_CFB.ProcessString(ciphertext, plaintext, 24);

	CFB_FIPS_Mode<DES_EDE3>::Decryption decryption_DES_EDE3_CFB;
	decryption_DES_EDE3_CFB.SetKeyWithIV(key, sizeof(key), iv);
	decryption_DES_EDE3_CFB.ProcessString(decrypted, ciphertext, 24);

	if (memcmp(plaintext, decrypted, 24) != 0)
	{
		cerr << "DES-EDE3-CFB Encryption/decryption failed.\n";
		abort();
	}
	cout << "3. DES-EDE3-CFB Encryption/decryption succeeded.\n";

	// hash
	const byte message[] = {'a', 'b', 'c'};
	const byte expectedDigest[] = {0xA9,0x99,0x3E,0x36,0x47,0x06,0x81,0x6A,0xBA,0x3E,0x25,0x71,0x78,0x50,0xC2,0x6C,0x9C,0xD0,0xD8,0x9D};
	byte digest[20];
	
	SHA1 sha;
	sha.Update(message, 3);
	sha.Final(digest);

	if (memcmp(digest, expectedDigest, 20) != 0)
	{
		cerr << "SHA-1 hash failed.\n";
		abort();
	}
	cout << "4. SHA-1 hash succeeded.\n";

	// create auto-seeded X9.17 RNG object, if available
#ifdef OS_RNG_AVAILABLE
	AutoSeededX917RNG<AES> rng;
#else
	// this is used to allow this function to compile on platforms that don't have auto-seeded RNGs
	RandomNumberGenerator &rng(NullRNG());
#endif

	// generate DSA key
	DSA::PrivateKey dsaPrivateKey;
	dsaPrivateKey.GenerateRandomWithKeySize(rng, 1024);
	DSA::PublicKey dsaPublicKey;
	dsaPublicKey.AssignFrom(dsaPrivateKey);
	if (!dsaPrivateKey.Validate(rng, 3) || !dsaPublicKey.Validate(rng, 3))
	{
		cerr << "DSA key generation failed.\n";
		abort();
	}
	cout << "5. DSA key generation succeeded.\n";

	// encode DSA key
	std::string encodedDsaPublicKey, encodedDsaPrivateKey;
	dsaPublicKey.DEREncode(StringSink(encodedDsaPublicKey).Ref());
	dsaPrivateKey.DEREncode(StringSink(encodedDsaPrivateKey).Ref());

	// decode DSA key
	DSA::PrivateKey decodedDsaPrivateKey;
	decodedDsaPrivateKey.BERDecode(StringStore(encodedDsaPrivateKey).Ref());
	DSA::PublicKey decodedDsaPublicKey;
	decodedDsaPublicKey.BERDecode(StringStore(encodedDsaPublicKey).Ref());

	if (!decodedDsaPrivateKey.Validate(rng, 3) || !decodedDsaPublicKey.Validate(rng, 3))
	{
		cerr << "DSA key encode/decode failed.\n";
		abort();
	}
	cout << "6. DSA key encode/decode succeeded.\n";

	// sign and verify
	byte signature[40];
	DSA::Signer signer(dsaPrivateKey);
	assert(signer.SignatureLength() == 40);
	signer.SignMessage(rng, message, 3, signature);

	DSA::Verifier verifier(dsaPublicKey);
	if (!verifier.VerifyMessage(message, 3, signature, sizeof(signature)))
	{
		cerr << "DSA signature and verification failed.\n";
		abort();
	}
	cout << "7. DSA signature and verification succeeded.\n";


	// try to verify an invalid signature
	signature[0] ^= 1;
	if (verifier.VerifyMessage(message, 3, signature, sizeof(signature)))
	{
		cerr << "DSA signature verification failed to detect bad signature.\n";
		abort();
	}
	cout << "8. DSA signature verification successfully detected bad signature.\n";

	// try to use an invalid key length
	try
	{
		ECB_Mode<DES_EDE3>::Encryption encryption_DES_EDE3_ECB;
		encryption_DES_EDE3_ECB.SetKey(key, 5);

		// should not be here
		cerr << "DES-EDE3 implementation did not detect use of invalid key length.\n";
		abort();
	}
	catch (InvalidArgument &e)
	{
		cout << "9. Caught expected exception when using invalid key length. Exception message follows: ";
		cout << e.what() << endl;
	}

	cout << "\nFIPS 140-2 Sample Application completed normally.\n";
}

#ifdef CRYPTOPP_IMPORTS

static PNew s_pNew = NULL;
static PDelete s_pDelete = NULL;

extern "C" __declspec(dllexport) void __cdecl SetNewAndDeleteFromCryptoPP(PNew pNew, PDelete pDelete, PSetNewHandler pSetNewHandler)
{
	s_pNew = pNew;
	s_pDelete = pDelete;
}

void * __cdecl operator new (size_t size)
{
	return s_pNew(size);
}

void __cdecl operator delete (void * p)
{
	s_pDelete(p);
}

#endif

#ifdef CRYPTOPP_DLL_ONLY

int __cdecl main()
{
	FIPS140_SampleApplication();
	return 0;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产福利| www.欧美.com| 亚洲视频在线一区观看| 在线视频欧美精品| 国产在线观看一区二区| 亚洲精品免费一二三区| 久久美女艺术照精彩视频福利播放| 99riav久久精品riav| 毛片av中文字幕一区二区| 亚洲美女视频在线| 国产女同互慰高潮91漫画| 欧美狂野另类xxxxoooo| 91网上在线视频| 国产麻豆精品95视频| 日韩一区精品视频| 一区二区三区欧美日| 国产精品无码永久免费888| 精品乱人伦一区二区三区| 欧美日韩黄色一区二区| 91麻豆蜜桃一区二区三区| 国产夫妻精品视频| 精品无人区卡一卡二卡三乱码免费卡 | 精品久久免费看| 欧美午夜电影在线播放| 91丨九色丨尤物| 成人永久免费视频| 国产高清久久久久| 国产一区二区三区在线观看免费| 免费人成在线不卡| 日韩精品一二三四| 日韩精品一二三区| 日本成人在线看| 日韩不卡一二三区| 日本三级韩国三级欧美三级| 天天色图综合网| 亚洲自拍偷拍麻豆| 亚洲综合激情另类小说区| 一区二区三区在线观看网站| 亚洲色图欧美在线| 夜夜精品视频一区二区 | 国产三级精品在线| 久久久久久久久伊人| 精品成人私密视频| 亚洲精品在线一区二区| 精品乱人伦小说| 久久久不卡网国产精品一区| 久久久久久久久久电影| 久久九九全国免费| 中文字幕av在线一区二区三区| 欧美国产精品v| 亚洲图片激情小说| 亚洲精品日产精品乱码不卡| 亚洲一二三四区| 亚洲国产精品久久久久婷婷884| 亚洲午夜久久久久久久久电影院| 亚洲国产精品一区二区久久| 亚洲v日本v欧美v久久精品| 天天综合日日夜夜精品| 理论片日本一区| 国产精品综合二区| 94-欧美-setu| 制服丝袜中文字幕亚洲| 亚洲精品一区二区三区福利| 亚洲成人精品影院| 激情文学综合网| 日韩三级视频在线看| 亚洲你懂的在线视频| 亚洲天堂久久久久久久| 国产精品私人自拍| 亚洲乱码国产乱码精品精可以看| 一区二区日韩av| 免费成人在线观看视频| 国产一区视频网站| 色先锋aa成人| 欧美一级生活片| 91精品国产免费久久综合| 国产午夜亚洲精品不卡| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品美女久久久久久久久| 视频在线在亚洲| 欧美在线看片a免费观看| 国产精品传媒入口麻豆| 国产精品一二三四区| 91精品国产综合久久精品性色| 一区二区三区丝袜| 91丨九色丨国产丨porny| 国产欧美日韩精品在线| 国产一区二区影院| 欧美一区二区三区白人| 午夜视频一区二区| 欧美亚日韩国产aⅴ精品中极品| 中文字幕欧美三区| 国产精品亚洲专一区二区三区| 日韩免费成人网| 免费成人美女在线观看| 欧美一级欧美三级| 日韩激情视频在线观看| 欧美浪妇xxxx高跟鞋交| 日韩综合小视频| 欧美精品在线一区二区三区| 亚洲国产综合人成综合网站| 一本久久a久久免费精品不卡| 国产精品美女久久久久av爽李琼| 国产不卡视频一区| 欧美国产日韩精品免费观看| 国产精品99久久久久久似苏梦涵 | 欧美精品自拍偷拍动漫精品| 亚洲午夜精品在线| 欧美性做爰猛烈叫床潮| 香蕉av福利精品导航| 欧美日韩视频一区二区| 午夜日韩在线电影| 日韩精品一区二区三区swag| 精品在线一区二区| 国产日韩在线不卡| 99视频一区二区| 亚洲精品成人天堂一二三| 欧美亚洲国产一卡| 日韩成人一级大片| 久久久www成人免费毛片麻豆 | 欧美怡红院视频| 日韩经典一区二区| 欧美精品一区二区三区高清aⅴ| 国产伦精品一区二区三区视频青涩| 久久久亚洲精品一区二区三区| 成人在线视频一区| 亚洲综合成人在线| 日韩视频免费观看高清完整版 | 色婷婷综合五月| 午夜精品视频在线观看| 日韩一区二区精品葵司在线| 国产呦萝稀缺另类资源| 国产精品久久久久精k8| 欧洲精品一区二区三区在线观看| 日韩影视精彩在线| 国产亚洲一区二区三区四区| 99久免费精品视频在线观看 | thepron国产精品| 亚洲国产综合91精品麻豆| 欧美哺乳videos| av男人天堂一区| 日韩激情av在线| 国产精品女人毛片| 欧美电影在线免费观看| 国产成人免费视频网站| 一区二区三区高清| 精品国产免费久久| 91色综合久久久久婷婷| 免费成人在线影院| 亚洲欧美日韩久久精品| 日韩欧美一区在线| 97精品视频在线观看自产线路二| 视频一区二区三区入口| 欧美国产乱子伦| 精品视频999| 成人性生交大片| 丝袜亚洲另类丝袜在线| 中文字幕国产一区| 欧美一级理论性理论a| 91免费视频大全| 久久99蜜桃精品| 亚洲一区二区三区国产| 久久久99免费| 欧美一区二区三区色| 91免费版在线看| 久久精品理论片| 亚洲国产精品一区二区www在线| 久久久久久久综合色一本| 欧美午夜精品电影| 99re热视频这里只精品| 九九九精品视频| 亚洲6080在线| 亚洲另类色综合网站| 精品日韩av一区二区| 精品视频1区2区| 色婷婷一区二区| 国产99久久久国产精品免费看 | 色综合色狠狠综合色| 国产乱子轮精品视频| 天堂在线一区二区| 伊人一区二区三区| 国产精品久久久久久久久晋中| 精品久久久久99| 欧美肥胖老妇做爰| 欧美日韩一区不卡| 色狠狠一区二区| av不卡一区二区三区| 成人一级视频在线观看| 韩国欧美一区二区| 日韩电影在线观看电影| 亚洲午夜久久久久久久久电影网| 综合激情成人伊人| 国产精品每日更新| 中文字幕欧美区| 日本一区二区在线不卡| 久久久久久久久久久电影| 欧美成人女星排行榜| 日韩欧美亚洲一区二区| 日韩欧美国产一区二区三区| 欧美日韩不卡一区|