当前位置: 首页>>代码示例>>C++>>正文


C++ Encrypt函数代码示例

本文整理汇总了C++中Encrypt函数的典型用法代码示例。如果您正苦于以下问题:C++ Encrypt函数的具体用法?C++ Encrypt怎么用?C++ Encrypt使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了Encrypt函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: EsealBDOperationQueryReplay

void EsealBDOperationQueryReplay (sEsealBDWorkTypeDef work, CPU_INT8U ch, sEsealBDStateTypeDef state, 
                                  sEsealBDSensorTypeDef sensor, FNCT_COMM comm)
{
    CPU_INT8U  data[SOCKET_HEAD_SIZE + CHIPHERTEXT_HEAD_SIZE + HEAD_HEAD_SIZE + ESEALBD_OPERATION_REPLAY_SIZE_QUERY];
    CPU_INT16U len;
    CPU_INT32U id;
    CPU_INT32U rn;
    CPU_INT32U key;
    sCiphertextTypeDef *ciphertext;
    CPU_INT8U *p;
    sHeadTypeDef *head;
    sEsealBDOperatioQueryReplayTypeDef *replay;
    
    id  = EsealBDGetID();
    rn  = EsealBDGetRN();
    key = EsealBDGetKey();
    
    ciphertext = (sCiphertextTypeDef *)&data[SOCKET_HEAD_SIZE];
    ciphertext->id  = NToHL(id);
    ciphertext->rn  = NToHL(rn);
    
    ciphertext->len = NToHS(HEAD_HEAD_SIZE + ESEALBD_OPERATION_REPLAY_SIZE_QUERY);
    
    p = (CPU_INT8U *)&ciphertext->data;
    
    head = (sHeadTypeDef *)p;
    
    replay = (sEsealBDOperatioQueryReplayTypeDef *)&head->data;    
    
    replay->id           = NToHL(id);
    replay->work.period  = NToHS(work.period);
    replay->work.window  = work.window;
    replay->work.channel = work.channel;
    replay->ch           = ch;
    replay->state        = state;
    replay->sensor       = sensor;
    
    len  = ESEALBD_OPERATION_REPLAY_SIZE_QUERY;
    head->len = NToHS(len);
    head->type = NToHS(ESEALBD_OPERATION_TYPE_REPLAY_QUERY);
    head->crc = NToHS(GetCRC16(&data[SOCKET_HEAD_SIZE + CHIPHERTEXT_HEAD_SIZE + HEAD_CRC_POS],
                               HEAD_HEAD_SIZE - HEAD_CRC_LEN + len)); 
    
    Encrypt(id, rn, key, (CPU_INT8U *)&ciphertext->data, NToHS(ciphertext->len));
    
    SocketPackageSend(ESEALBD_OPERATION_PORT, data, CHIPHERTEXT_HEAD_SIZE + HEAD_HEAD_SIZE + len); 
    comm(data, SOCKET_HEAD_SIZE + CHIPHERTEXT_HEAD_SIZE + HEAD_HEAD_SIZE + len);
}
开发者ID:shiyilei,项目名称:Beidoupro,代码行数:48,代码来源:esealbd_operation.c

示例2: PackSetInfoGWQuick

int PackSetInfoGWQuick(char *pdubuf, char *mac, char *password, PKT_SET_INFO_GW_QUICK *setting, char *key, int klen)
{
	DWORD tid;
	char tmpbuf[INFO_PDU_LENGTH];
	
	tid = PackCmdHdr(tmpbuf, NET_CMD_ID_QUICKGW_EX, mac, password);

	memcpy(tmpbuf+sizeof(IBOX_COMM_PKT_HDR_EX), setting, sizeof(PKT_SET_INFO_GW_QUICK));

#ifdef ENCRYPTION
	Encrypt(klen, key, tmpbuf, INFO_PDU_LENGTH, pdubuf);
#else
	memcpy(pdubuf, tmpbuf, INFO_PDU_LENGTH);
#endif
	return (tid);
}
开发者ID:nikatshun,项目名称:asuswrt-merlin,代码行数:16,代码来源:packet.c

示例3: va_start

int RASocket::zprintf( const char * szText, ... )
{
    if( !szText ) return 0;
    va_list ap;
    va_start(ap, szText);
    char*megabuffer=new char[1024];
    unsigned int sz=vsnprintf(megabuffer,1024,szText,ap);
    #ifdef RA_CRYPT
    Encrypt(megabuffer,sz);
    #endif

    send(r,megabuffer,sz,0);
    delete [] megabuffer;
    va_end(ap);
    return 0;
}
开发者ID:Artea,项目名称:mangos-svn,代码行数:16,代码来源:RASocket.cpp

示例4: va_start

/// Output function
int RASocket::zprintf( const char * szText, ... )
{
    if( !szText ) return 0;
    va_list ap;
    va_start(ap, szText);
    /// \todo Remove buffer length here. Can be >1024 (e.g. list of users)
    char *megabuffer=new char[1024];
    unsigned int sz=vsnprintf(megabuffer,1024,szText,ap);
    #ifdef RA_CRYPT
    Encrypt(megabuffer,sz);
    #endif

    send(r,megabuffer,sz,0);
    delete [] megabuffer;
    va_end(ap);
    return 0;
}
开发者ID:Artea,项目名称:mangos-svn,代码行数:18,代码来源:RASocket.cpp

示例5: RijndaelEncrypt

void RijndaelEncrypt(RijndaelContextPtr context,void* pInput,unsigned int nSize,void* pOutput)
{
	unsigned int i;
	//需要计算的最小长度
	unsigned int plainSize = context->plainSize;
	if (nSize % plainSize != 0)
	{
		nSize += plainSize - (nSize % plainSize);
		//清0
		memset((unsigned char*)pOutput + nSize,0,plainSize - (nSize % plainSize));
	}
	for (i=0; i<nSize; i += plainSize)
	{
		memcpy((unsigned char*)pOutput + i,(unsigned char*)pInput + i,plainSize);
		Encrypt(context,(unsigned char*)pOutput + i);
	}
}
开发者ID:why0603,项目名称:angel,代码行数:17,代码来源:Rijndael.c

示例6: Encrypt_Test

int Encrypt_Test(PRE_KEY *key)
{
	int j = g_time;
	while(j--)
	{
		int i = r_time;
		Cipher *C = Encrypt(key->pk,m);
		begin = clock();
		while(i--) {OPENSSL_free(Decrypt(key,C));}
		end = clock();
		C->~pre_cipher_st();

		printf("%d:Encrypt : %f ms...\n",10-j,(double)(end-begin));
	}

	return 1;
}
开发者ID:lixiaoyi1108,项目名称:SecuruStik,代码行数:17,代码来源:UnitTest.cpp

示例7: main

int main()
{
	char SourceString[THE_STRING_LENGTH] = "¡££¬¡¢£»£º£¿£¡¡­¡ª¡¤¡¥¡§0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789¡®¡¯¡°¡±¡©¡«¡¬¡Ã£¢¡Ã£§£à£ü¡¨¡²¡³¡´¡µ¡¶¡·¡¸¡¹¡º¡»£®¡¼¡½¡¾¡¿£¨£©£Û£Ý£û£ý";
	char TargetString[THE_STRING_LENGTH];
	printf("The Source String:%s\r\n", SourceString);

	Encrypt(SourceString, strlen(SourceString)+1, TargetString, strlen(SourceString)+1);
	printf("The Encrypt String:%s\r\n", TargetString);

	memset(SourceString, 0, sizeof(char)*THE_STRING_LENGTH);

	Decrypt(TargetString, strlen(TargetString)+1, SourceString, strlen(TargetString)+1);
	printf("The Decrypt Strng:%s\r\n", SourceString);
	getchar();


	return 0;
}
开发者ID:SherlockLee,项目名称:EncryptDecrypt,代码行数:18,代码来源:EncryptDecrypt.cpp

示例8: chain

//Decrypt from Input Buffer to Output Buffer
//Returns false if n is multiple of 8
void BlowFish::Decrypt(const unsigned char* in, unsigned char* out, unsigned int n, int iMode)
{
	//Check the buffer's length - should be > 0 and multiple of 8
	if((n==0)||(n%8!=0))
		//throw exception("Incorrect buffer length");
		return;

	SBlock work;
	if(iMode == CBC) //CBC mode, using the Chain
	{
		SBlock crypt, chain(m_oChain);
		for(; n >= 8; n -= 8, in += 8)
		{
			BytesToBlock(in, work);
			crypt = work;
			Decrypt(work);
			work ^= chain;
			chain = crypt;
			BlockToBytes(work, out+=8);
		}
	}
	else if(iMode == CFB) //CFB mode, using the Chain, not using Decrypt()
	{
		SBlock crypt, chain(m_oChain);
		for(; n >= 8; n -= 8, in += 8)
		{
			BytesToBlock(in, work);
			Encrypt(chain);
			crypt = work;
			work ^= chain;
			chain = crypt;
			BlockToBytes(work, out+=8);
		}
	}
	else //ECB mode, not using the Chain
	{
		for(; n >= 8; n -= 8, in += 8)
		{
			BytesToBlock(in, work);
			Decrypt(work);
			BlockToBytes(work, out+=8);
		}
	}
}
开发者ID:namikaze90,项目名称:KVIrc-old,代码行数:46,代码来源:BlowFish.cpp

示例9: Keygen

bool RSA::DefaultTest(unsigned int size)
{
    if(size < 64)
    {
        std::cout << "RSA test invald input\n";
        return false;
    }
    BigInteger pub, priv, modulus;
    Utils::TestGenerator generator;
    Keygen(pub, priv, modulus, &generator, size);
    BigInteger message = generator.getBig(size) % modulus;
    BigInteger crypto = Encrypt(message, pub, modulus);
    BigInteger message1 = Decrypt(crypto, priv, modulus);
    bool result = (message1 == message);
    if(result)
        std::cout << "RSA test OK\n";
    else std::cout << "RSA test ERROR\n";
    return result;
}
开发者ID:coolsofttonyjj,项目名称:RSA-1,代码行数:19,代码来源:Test.cpp

示例10: ParallelKeygen

bool RSA::CustomTest(unsigned int size, Utils::Generator *generator, int threads, unsigned int precision, unsigned int distance)
{
    if(size < 64 || generator == NULL)
    {
        std::cout << "RSA test invalid input\n";
        return false;
    }
    BigInteger pub, priv, modulus;
    
    ParallelKeygen(pub, priv, modulus, generator, size, threads, precision, distance);
    BigInteger message = generator->getBig(size) % modulus;
    BigInteger crypto = Encrypt(message, pub, modulus);
    BigInteger message1 = Decrypt(crypto, priv, modulus);
    bool result = message1 == message;
    if(result)
        std::cout << "RSA test OK\n";
    else std::cout << "RSA test ERROR\n";
    return result;
}
开发者ID:coolsofttonyjj,项目名称:RSA-1,代码行数:19,代码来源:Test.cpp

示例11: main

int main(void)
{
	HCRYPTPROV hCryptProv = 0;
	HCRYPTKEY key = 0;
	unsigned long cLen = 0;
	char *cipherText = 0;
	char *plainText = "PLAIN_TEXT_PLAIN_TEXT\0";
	char *password = "!TESTING_PASS_TESTING_PASS!\0";
	unsigned char *decrypted = 0;

	if (!CryptoInit(&key, &hCryptProv, password, strlen(password)))
	{
		printf("Crypto initializing failed\n");
		return EXIT_FAILURE;
	}

	if (!Encrypt(key, &cipherText, &cLen, (unsigned char *)plainText, strlen(plainText)))
	{
		printf("Encryption failed\n");
		if (hCryptProv) CryptReleaseContext(hCryptProv, 0);
		return EXIT_FAILURE;
	}

	printf("Encrypted string: %s\n", cipherText);

	if (!Decrypt(key, &decrypted, cipherText, cLen))
	{
		printf("Decryption failed\n");
		SAFE_FREE(cipherText);
		if (hCryptProv) CryptReleaseContext(hCryptProv, 0);
		return EXIT_FAILURE;
	}

	SAFE_FREE(cipherText);

	printf("Decrypted string: %s\n", decrypted);

	SAFE_FREE(decrypted);

	CryptoUninit(key, hCryptProv);

	return EXIT_SUCCESS;
}
开发者ID:maldevel,项目名称:WinRC4,代码行数:43,代码来源:main.c

示例12: main

int main()
{
	int i,n;
	char s[80],key[12],encrypt[80];              //输入串,密钥,加密后的串
	scanf("%s",key);
	getchar();                                            //吃掉输入密钥后的那个回车
	GeneAlphabet();                                  //产生字母表
	Reverse(key);                                       //将密钥key反转
	GetCharMap(key);                               //得到字母表的加密字符的对应表
	while(1)
	{
		gets(s);                                            //得到每行要加密的串
		if(strcmp(s,"#") == 0) break;            //如果输入#号则终止程序
		strcpy(encrypt,"");                            //将加密后的串先清空
		Encrypt(s,key,encrypt);                     //加密
		puts(encrypt);                                  //输出
	}
	return 0;
}
开发者ID:jindongwang,项目名称:BUAA-Recommend-Graduate-Test,代码行数:19,代码来源:406-加密字符串.cpp

示例13: Java_com_softtanck_tanck_aes_utils_AesUtils_Encrypt

/*********************加密*********************/
JNIEXPORT jint JNICALL Java_com_softtanck_tanck_aes_utils_AesUtils_Encrypt(JNIEnv *env,
                                                                           jclass thiz,
                                                                           jbyteArray msg,
                                                                           jbyteArray key,
                                                                           jbyteArray cipher,
                                                                           jint length) {
    jbyte *pMsg = (jbyte *) (*env)->GetByteArrayElements(env, msg, 0);
    jbyte *pKey = (jbyte *) (*env)->GetByteArrayElements(env, key, 0);
    jbyte *pCipher = (jbyte *) (*env)->GetByteArrayElements(env, cipher, 0);

    if (!pMsg || !pKey || !pCipher) {
        return -1;
    }
    int flag = Encrypt(pMsg, pKey, pCipher, length); //加密函数
    (*env)->ReleaseByteArrayElements(env, msg, pMsg, 0);
    (*env)->ReleaseByteArrayElements(env, key, pKey, 0);
    (*env)->ReleaseByteArrayElements(env, cipher, pCipher, 0);
    return flag;
}
开发者ID:q422013,项目名称:AES,代码行数:20,代码来源:AESAndroid.c

示例14: EsealBDOperationError

void EsealBDOperationError (CPU_INT8U error, FNCT_COMM comm)
{
    CPU_INT8U  data[SOCKET_HEAD_SIZE + CHIPHERTEXT_HEAD_SIZE + HEAD_HEAD_SIZE + ESEALBD_OPERATION_REPLAY_SIZE_ERROR];
    CPU_INT16U len;
    CPU_INT32U id;
    CPU_INT32U rn;
    CPU_INT32U key;
    sCiphertextTypeDef *ciphertext;
    CPU_INT8U *p;
    sHeadTypeDef *head;
    sEsealBDOperatioErrornReplayTypeDef *replay;
    
    id  = EsealBDGetID();
    rn  = EsealBDGetRN();
    key = EsealBDGetKey();
    
    ciphertext = (sCiphertextTypeDef *)&data[SOCKET_HEAD_SIZE];
    ciphertext->id  = NToHL(id);
    ciphertext->rn  = NToHL(rn);
    
    ciphertext->len = NToHS(HEAD_HEAD_SIZE + ESEALBD_OPERATION_REPLAY_SIZE_ERROR);
    
    p = (CPU_INT8U *)&ciphertext->data;
    
    head = (sHeadTypeDef *)p;
    
    replay = (sEsealBDOperatioErrornReplayTypeDef *)&head->data;
    
    replay->id = NToHL(id);
    replay->error = error;
    
    len  = ESEALBD_OPERATION_REPLAY_SIZE_ERROR;
    head->len = NToHS(len);
    head->type = NToHS(ESEALBD_OPERATION_TYPE_REPLAY_ERROR);
    head->crc = NToHS(GetCRC16(&data[SOCKET_HEAD_SIZE + CHIPHERTEXT_HEAD_SIZE + HEAD_CRC_POS],
                               HEAD_HEAD_SIZE - HEAD_CRC_LEN + len)); 
    
    Encrypt(id, rn, key, (CPU_INT8U *)&ciphertext->data, NToHS(ciphertext->len));
    
    SocketPackageSend(ESEALBD_OPERATION_PORT, data, CHIPHERTEXT_HEAD_SIZE + HEAD_HEAD_SIZE + len); 
    comm(data, SOCKET_HEAD_SIZE + CHIPHERTEXT_HEAD_SIZE + HEAD_HEAD_SIZE + len);
}
开发者ID:shiyilei,项目名称:Beidoupro,代码行数:42,代码来源:esealbd_operation.c

示例15: chain

//Decrypt Buffer in Place
//Returns false if n is multiple of 8
void CBlowFish::Decrypt(unsigned char* buf, size_t n, int iMode)
{
    //Check the buffer's length - should be > 0 and multiple of 8
    if((n==0)||(n%8!=0))
        throw std::exception("Incorrect buffer length");
    SBlock work;
    if(iMode == CBC) //CBC mode, using the Chain
    {
        SBlock crypt, chain(m_oChain);
        for(; n >= 8; n -= 8)
        {
            BytesToBlock(buf, work);
            crypt = work;
            Decrypt(work);
            work ^= chain;
            chain = crypt;
            BlockToBytes(work, buf+=8);
        }
    }
    else if(iMode == CFB) //CFB mode, using the Chain, not using Decrypt()
    {
        SBlock crypt, chain(m_oChain);
        for(; n >= 8; n -= 8)
        {
            BytesToBlock(buf, work);
            Encrypt(chain);
            crypt = work;
            work ^= chain;
            chain = crypt;
            BlockToBytes(work, buf+=8);
        }
    }
    else //ECB mode, not using the Chain
    {
        for(; n >= 8; n -= 8)
        {
            BytesToBlock(buf, work);
            Decrypt(work);
            BlockToBytes(work, buf+=8);
        }
    }
}
开发者ID:CalciferLorain,项目名称:CommitMonitor,代码行数:44,代码来源:BlowFish.cpp


注:本文中的Encrypt函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。