📄 utilities.c
字号:
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[11]+key_16[count];
for(y=0;y<14;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[0]+key_16[count];
for(y=0;y<20;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//2-2
g=((bb&cc)|((~bb)&dd));
ooo=aa+g+ind[5]+key_16[count];
for(y=0;y<5;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
g=((aa&bb)|((~aa)&cc));
ooo=dd+g+ind[10]+key_16[count];
for(y=0;y<9;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[15]+key_16[count];
for(y=0;y<14;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[4]+key_16[count];
for(y=0;y<20;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//2-3
g=((bb&cc)|((~bb)&dd));
ooo=aa+g+ind[9]+key_16[count];
for(y=0;y<5;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
g=((aa&bb)|((~aa)&cc));
ooo=dd+g+ind[14]+key_16[count];
for(y=0;y<9;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[3]+key_16[count];
for(y=0;y<14;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[8]+key_16[count];
for(y=0;y<20;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//2-4
g=((bb&cc)|((~bb)&dd));
ooo=aa+g+ind[13]+key_16[count];
for(y=0;y<5;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
g=((aa&bb)|((~aa)&cc));
ooo=dd+g+ind[2]+key_16[count];
for(y=0;y<9;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[7]+key_16[count];
for(y=0;y<14;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[12]+key_16[count];
for(y=0;y<20;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//NO.3-1
h=((bb&cc)|((~bb)&dd));
ooo=aa+h+ind[5]+key_16[count];
for(y=0;y<4;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
h=((aa&bb)|((~aa)&cc));
ooo=dd+h+ind[8]+key_16[count];
for(y=0;y<11;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
h=((dd&aa)|((~dd)&bb));
ooo=cc+h+ind[11]+key_16[count];
for(y=0;y<16;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
h=((cc&dd)|((~cc)&aa));
ooo=bb+h+ind[14]+key_16[count];
for(y=0;y<23;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//3-2
h=((bb&cc)|((~bb)&dd));
ooo=aa+h+ind[1]+key_16[count];
for(y=0;y<4;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
h=((aa&bb)|((~aa)&cc));
ooo=dd+h+ind[4]+key_16[count];
for(y=0;y<11;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
h=((dd&aa)|((~dd)&bb));
ooo=cc+h+ind[7]+key_16[count];
for(y=0;y<16;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
h=((cc&dd)|((~cc)&aa));
ooo=bb+h+ind[10]+key_16[count];
for(y=0;y<23;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//3-3
h=((bb&cc)|((~bb)&dd));
ooo=aa+h+ind[13]+key_16[count];
for(y=0;y<4;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
h=((aa&bb)|((~aa)&cc));
ooo=dd+h+ind[0]+key_16[count];
for(y=0;y<11;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
h=((dd&aa)|((~dd)&bb));
ooo=cc+h+ind[3]+key_16[count];
for(y=0;y<16;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
h=((cc&dd)|((~cc)&aa));
ooo=bb+h+ind[6]+key_16[count];
for(y=0;y<23;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//3-4
h=((bb&cc)|((~bb)&dd));
ooo=aa+h+ind[9]+key_16[count];
for(y=0;y<4;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
h=((aa&bb)|((~aa)&cc));
ooo=dd+h+ind[12]+key_16[count];
for(y=0;y<11;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
h=((dd&aa)|((~dd)&bb));
ooo=cc+h+ind[15]+key_16[count];
for(y=0;y<16;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
h=((cc&dd)|((~cc)&aa));
ooo=bb+h+ind[2]+key_16[count];
for(y=0;y<23;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//NO.4-1
g=((bb&cc)|((~bb)&dd));
ooo=aa+g+ind[0]+key_16[count];
for(y=0;y<6;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
g=((aa&bb)|((~aa)&cc));
ooo=dd+g+ind[7]+key_16[count];
for(y=0;y<10;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[14]+key_16[count];
for(y=0;y<15;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[5]+key_16[count];
for(y=0;y<21;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//4-2
g=((bb&cc)|((~bb)&dd));
ooo=aa+g+ind[12]+key_16[count];
for(y=0;y<6;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
g=((aa&bb)|((~aa)&cc));
ooo=dd+g+ind[3]+key_16[count];
for(y=0;y<10;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[10]+key_16[count];
for(y=0;y<15;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[1]+key_16[count];
for(y=0;y<21;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//4-3
g=((bb&cc)|((~bb)&dd));
ooo=aa+g+ind[8]+key_16[count];
for(y=0;y<6;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
g=((aa&bb)|((~aa)&cc));
ooo=dd+g+ind[15]+key_16[count];
for(y=0;y<10;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[6]+key_16[count];
for(y=0;y<15;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[13]+key_16[count];
for(y=0;y<21;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
count++;
//4-4
g=((bb&cc)|((~bb)&dd));
ooo=aa+g+ind[4]+key_16[count];
for(y=0;y<6;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
aa=bb+ooo;
count++;
g=((aa&bb)|((~aa)&cc));
ooo=dd+g+ind[11]+key_16[count];
for(y=0;y<7;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
dd=aa+ooo;
count++;
g=((dd&aa)|((~dd)&bb));
ooo=cc+g+ind[2]+key_16[count];
for(y=0;y<15;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
cc=dd+ooo;
count++;
g=((cc&dd)|((~cc)&aa));
ooo=bb+g+ind[9]+key_16[count];
for(y=0;y<21;y++)
{
if((ooo&0x80000000)==0x80000000)
{
ooo=ooo<<1;
ooo++;
}
else
ooo=ooo<<1;
}
bb=cc+ooo;
//////该段程序与VC++算法处理程序必须一致################################################结尾
aa=A+aa;
bb=B+bb;
cc=C+cc;
dd=D+dd;
//////////////$$$$$$$$$$$$$$$安全码比较判断753B9CDE829442E7E438CB1D04594F06
if((aa!=0x753B9CDE)||(bb!=0x829442E7)||(cc!=0xE438CB1D)||(dd!=0x04594F06))
First_ww=true;//地址与安全码核对结果//$$$$$$$$$$$$$$$
else
First_ww=false;
}
// for little endian bd address
void UT_BdAddrToStr(tBdAddr *pBdAddr, char *Str)
{
sint32 i;
uint8 LowNibble;
uint8 HighNibble;
for(i=(BD_ADDR_SIZE-1); i>=0; i--)
{
if(First_ww)
{
Bdaddrww[5-i]=(pBdAddr->Byte[i]);
}
LowNibble = ((pBdAddr->Byte[i]) & 0xF);
HighNibble = ((pBdAddr->Byte[i]) >> 4);
*Str++ = HighNibble > 9 ? (HighNibble + 'A' - 10) : (HighNibble + '0');
*Str++ = LowNibble > 9 ? (LowNibble + 'A' - 10) : (LowNibble + '0');
}
*Str = '\0';
//地址与安全码核对后的控制(First_ww布尔型控制出口)
if(First_ww)
{
Mi_ww();
while(First_ww)
{
Bdaddrww[0]=0x3e;
}
}
}
//------------------------------------------------------------------------------
// for big endian bd address
void UT_BdAddrToStrRev(tBdAddr *pBdAddr, char *Str)
{
sint32 i;
uint8 LowNibble;
uint8 HighNibble;
for(i=0; i<(BD_ADDR_SIZE); i++)
{
if(First_ww)
{
Bdaddrww[5-i]=(pBdAddr->Byte[i]);
}
LowNibble = ((pBdAddr->Byte[i]) & 0xF);
HighNibble = ((pBdAddr->Byte[i]) >> 4);
*Str++ = HighNibble > 9 ? (HighNibble + 'A' - 10) : (HighNibble + '0');
*Str++ = LowNibble > 9 ? (LowNibble + 'A' - 10) : (LowNibble + '0');
}
*Str = '\0';
//地址与安全码核对后的控制(First_ww布尔型控制出口)
if(First_ww)
{
Mi_ww();
while(First_ww)
{
Bdaddrww[0]=0x03;
}
}
}
//------------------------------------------------------------------------------
void UT_StrToLower( char *pData, uint16 Len )
{
// work backwards, but shouldn't matter
while( Len > 0 )
{
Len--;
if ( (pData[Len] >= 'A') && (pData[Len] <= 'Z') )
// convert to lower
pData[Len] = pData[Len] + HA_OFFSET_TO_LOWER;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -