📄 hsel_stream.cpp
字号:
iRemainCount--;
}
return;
}
void CHSEL_STREAM::DESMiddleDecode_Type_2(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempMiddleKey = Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream);
char *lpChar = ((char*)&Init.Keys.iMiddleKey);
while(iBlockCount)
{
(*(lpBlock++)) -= iTempMiddleKey;
iBlockCount--;
}
while(iRemainCount)
{
lpStream[iPos++] -= (*(lpChar+iRemainCount));
iRemainCount--;
}
return;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CHSEL_STREAM::DESLeftEncode_Type_3(char *lpStream,const __int32 iStreamSize)
{
iTempLeftKey = Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
iBlockCount = (iStreamSize>>2); //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = (iStreamSize&3); //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
char *lpChar = ((char *)&(Init.Keys.iLeftKey));
while(iBlockCount)
{
(*lpBlock) -= (iTempLeftKey);
(iTempLeftKey) = (*(lpBlock++));
(iBlockCount--);
}
while(iRemainCount)
{
lpStream[iPos++] -= (*(lpChar+iRemainCount));
(iRemainCount--);
}
return;
}
void CHSEL_STREAM::DESLeftDecode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempLeftKey = Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
iBlockCount = (iStreamSize>>2); //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = (iStreamSize&3);//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2);
__int32 *lpBlock = (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
char *lpChar = ((char *)&Init.Keys.iLeftKey);
lpBlock += (iBlockCount-1);
(iTempLeftKey) = (*(lpBlock-1));
while( 1 < iBlockCount)
{
(*(lpBlock--)) += (iTempLeftKey);
(iTempLeftKey) = (*(lpBlock-1));
(iBlockCount--);
}
if(iBlockCount)
{
(*lpBlock) += (Init.Keys.iLeftKey);
}
while(iRemainCount)
{
lpStream[iPos++] += (*(lpChar+iRemainCount));
(iRemainCount--);
}
return;
}
void CHSEL_STREAM::DESRightEncode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempRightKey = Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream+iPos+iRemainCount);
char *lpChar = ((char *)&Init.Keys.iRightKey);
lpBlock = (__int32*)(lpStream+iStreamSize-4);
while(iBlockCount)
{
(*lpBlock) -= (iTempRightKey);
(iTempRightKey) = (*(lpBlock--));
iBlockCount--;
}
while(iRemainCount)
{
lpStream[--iRemainCount] -= (*(lpChar+iRemainCount));
}
return;
}
void CHSEL_STREAM::DESRightDecode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempRightKey = Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream+iRemainCount);
char *lpChar = ((char *)&Init.Keys.iRightKey);
iTempRightKey = *(lpBlock+1);
while(1 < iBlockCount)
{
(*(lpBlock++)) += (iTempRightKey);
iTempRightKey = (*(lpBlock+1));
iBlockCount--;
}
if(iBlockCount)
{
*(lpBlock) += (Init.Keys.iRightKey);
}
while(iRemainCount)
{
lpStream[--iRemainCount] += (*(lpChar+iRemainCount));
}
return;
}
void CHSEL_STREAM::DESMiddleEncode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempMiddleKey = Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream);
char *lpChar = ((char *)&Init.Keys.iMiddleKey);
while(iBlockCount)
{
(*(lpBlock++)) -= iTempMiddleKey;
iBlockCount--;
}
while(iRemainCount)
{
lpStream[iPos++] -= (*(lpChar+iRemainCount));
iRemainCount--;
}
return;
}
void CHSEL_STREAM::DESMiddleDecode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempMiddleKey = Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream);
char *lpChar = ((char*)&Init.Keys.iMiddleKey);
while(iBlockCount)
{
(*(lpBlock++)) += iTempMiddleKey;
iBlockCount--;
}
while(iRemainCount)
{
lpStream[iPos++] += (*(lpChar+iRemainCount));
iRemainCount--;
}
return;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CHSEL_STREAM::DESLeftEncode_Type_4(char *lpStream,const __int32 iStreamSize)
{
iTempLeftKey = Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
iBlockCount = (iStreamSize>>2); //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = (iStreamSize&3); //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
char *lpChar = ((char *)&(Init.Keys.iLeftKey));
while(iBlockCount)
{
(*lpBlock) -= (iTempLeftKey);
(iTempLeftKey) = (*(lpBlock++));
(iBlockCount--);
}
while(iRemainCount)
{
lpStream[iPos++] ^= (*(lpChar+iRemainCount));
(iRemainCount--);
}
return;
}
void CHSEL_STREAM::DESLeftDecode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempLeftKey = Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
iBlockCount = (iStreamSize>>2); //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = (iStreamSize&3);//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2);
__int32 *lpBlock = (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
char *lpChar = ((char *)&Init.Keys.iLeftKey);
lpBlock += (iBlockCount-1);
(iTempLeftKey) = (*(lpBlock-1));
while( 1 < iBlockCount)
{
(*(lpBlock--)) += (iTempLeftKey);
(iTempLeftKey) = (*(lpBlock-1));
(iBlockCount--);
}
if(iBlockCount)
{
(*lpBlock) += (Init.Keys.iLeftKey);
}
while(iRemainCount)
{
lpStream[iPos++] ^= (*(lpChar+iRemainCount));
(iRemainCount--);
}
return;
}
void CHSEL_STREAM::DESRightEncode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempRightKey = Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream+iStreamSize-4);
char *lpChar = ((char *)&Init.Keys.iRightKey);
while(iBlockCount)
{
(*lpBlock) += (iTempRightKey);
(iTempRightKey) = (*(lpBlock--));
iBlockCount--;
}
while(iRemainCount)
{
lpStream[--iRemainCount] ^= (*(lpChar+iRemainCount));
}
return;
}
void CHSEL_STREAM::DESRightDecode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempRightKey = Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream+iRemainCount);
char *lpChar = ((char *)&Init.Keys.iRightKey);
iTempRightKey = *(lpBlock+1);
while(1 < iBlockCount)
{
(*(lpBlock++)) -= (iTempRightKey);
iTempRightKey = (*(lpBlock+1));
iBlockCount--;
}
if(iBlockCount)
{
*(lpBlock) -= (Init.Keys.iRightKey);
}
while(iRemainCount)
{
lpStream[--iRemainCount] ^= (*(lpChar+iRemainCount));
}
return;
}
void CHSEL_STREAM::DESMiddleEncode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempMiddleKey = Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream);
char *lpChar = ((char *)&Init.Keys.iMiddleKey);
while(iBlockCount)
{
(*(lpBlock++)) ^= iTempMiddleKey;
iBlockCount--;
}
while(iRemainCount)
{
lpStream[iPos++] += (*(lpChar+iRemainCount));
iRemainCount--;
}
return;
}
void CHSEL_STREAM::DESMiddleDecode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
iTempMiddleKey = Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
iBlockCount = iStreamSize>>2; //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
iRemainCount = iStreamSize&3; //楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4;
iPos = (iBlockCount<<2); //官捞飘 窜困 困摹 iBlockCount*4
__int32 *lpBlock = (__int32*)(lpStream);
char *lpChar = ((char*)&Init.Keys.iMiddleKey);
while(iBlockCount)
{
(*(lpBlock++)) ^= iTempMiddleKey;
iBlockCount--;
}
while(iRemainCount)
{
lpStream[iPos++] -= (*(lpChar+iRemainCount));
iRemainCount--;
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -