?? encrypt.c
字號:
#define __DEFINE_REGISTERS_STVD7_INCLUDE__
#include "ST72324BLK2.h"
#undef __DEFINE_REGISTERS_STVD7_INCLUDE__
#define asm_nop() _asm ("nop\n")
unsigned int long TMKey= 0x1A3B47E3;
unsigned int long RMKey= 0XC7E2DC58;
unsigned char NLFOUT(unsigned int long code);
unsigned char Sample2Bit(unsigned int long code);
void encrypt(unsigned long int outdata)
{
unsigned char i=0,j=32,temp;
unsigned int long temp1;
temp1=outdata;
while(temp1++)
{
outdata=temp1;
temp=(unsigned char)outdata + (unsigned char)(outdata>>8)+ (unsigned char)(outdata>>16);
outdata+=((unsigned int long)(temp)<<24);
j=32;
while(j--)
{
i=NLFOUT(outdata)^(((unsigned char)TMKey)&0x01)^Sample2Bit(outdata);
outdata<<=1;
outdata|=i;
TMKey>>=1;
}
asm_nop();
j=32;
while(j--)
{
temp=(unsigned char)(outdata)& 0x01;
outdata>>=1;
i=NLFOUT(outdata)^((unsigned char)RMKey&0x01)^((unsigned char)(outdata>>16)&0x01)^temp;
RMKey>>=1;
if(i) outdata|=0x80000000;
}
asm_nop();
}
}
unsigned char NLFOUT(unsigned int long code)
{
unsigned char i=0,j;
unsigned int long temp=0x3e57ba6c;
for(j=0;j<4;j++)
{
i|=((unsigned char)(code>>=6)&0x01);
i<<=1;
}
i|=((unsigned char)(code>>=6)&0x01);
return ((temp>>i)&0x01);
}
unsigned char Sample2Bit(unsigned int long code)
{
unsigned char i;
i=((unsigned char)(code>>31)& 0x01)^((unsigned char)(code>>16)&0x01);
return (i);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -