📄 使用方法.txt
字号:
这是3DES的使用方法,AES的自己找
加解密方法
void CDealClientMessage::EncryptSignificanceData(int bufferSignificanceData_len)
{
//取得有效数据部分的指针
char *buffer=bufferSendMessage+sizeof(MSGHEADER);
//PFILE_DATA packet_message = (PFILE_DATA)(bufferSendMessage+sizeof(MSGHEADER));
//确定加密消息数据块个数
m_tempData_block_num= bufferSignificanceData_len / DES_DATA_BLOCK_SIZE;
if (bufferSignificanceData_len % DES_DATA_BLOCK_SIZE)
{
m_tempData_block_num++;
}
//加密有效数据
EncryptMessage(buffer,m_tempData_block_num,
m_tempSecureSerVerKey.SecureSerVerKey1,
m_tempSecureSerVerKey.SecureSerVerKey2,
m_tempSecureSerVerKey.SecureSerVerKey3);
m_tempMessageLength=sizeof(MSGHEADER)+m_tempData_block_num * DES_DATA_BLOCK_SIZE;
}
void CDealClientMessage::EncryptMessage(char *buffer, int block_num, DES_cblock key1, DES_cblock key2, DES_cblock key3)
{
DES_key_schedule ks1, ks2, ks3;
DES_set_key((DES_cblock *)key1,&ks1);
DES_set_key((DES_cblock *)key2,&ks2);
DES_set_key((DES_cblock *)key3,&ks3);
for( int i = 0; i < block_num; i ++)
{
DES_ecb3_encrypt((DES_cblock *)buffer,(DES_cblock *)buffer, &ks1, &ks2, &ks3, DES_ENCRYPT);
buffer += DES_DATA_BLOCK_SIZE;
}
}
void CDealClientMessage::DecryptSignificanceData(char *buffer)
{
bufferSignificanceData=buffer+sizeof(MSGHEADER)+sizeof(TICKET);
GetMsgheaderStruct(buffer);/*获取消息头,以便取得操作码*/
m_tempData_block_num=(m_pMSGHEADER->len-sizeof(MSGHEADER)-sizeof(TICKET))/DES_DATA_BLOCK_SIZE;
DecryptMessage(bufferSignificanceData,m_tempData_block_num,
m_tempSecureSerVerKey.SecureSerVerKey1,
m_tempSecureSerVerKey.SecureSerVerKey2,
m_tempSecureSerVerKey.SecureSerVerKey3);
}
void CDealClientMessage::DecryptMessage(char *buffer, int block_num, DES_cblock key1, DES_cblock key2, DES_cblock key3)
{
DES_key_schedule ks1, ks2, ks3;
DES_set_key((DES_cblock *)key1,&ks1);
DES_set_key((DES_cblock *)key2,&ks2);
DES_set_key((DES_cblock *)key3,&ks3);
for( int i = 0; i < block_num; i ++)
{
DES_ecb3_encrypt((DES_cblock *)buffer,(DES_cblock *)buffer, &ks1, &ks2, &ks3, DES_DECRYPT);
buffer += DES_DATA_BLOCK_SIZE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -