C转成java代码转换,请求帮助

给与关键点提示也可以。

 u8 Wifi_EncryptionHalfByte(u8 bt,u8 m8)
{ 
 return (bt-m8) & 0xf;
}

u32 Wifi_Encryption(u32 dat,u32 mm)
{ 
 dat = dat ^ mm;
 val = 0;
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>28)&0x0f,(mm>>0 )&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>24)&0x0f,(mm>>4 )&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>20)&0x0f,(mm>>8 )&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>16)&0x0f,(mm>>12)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>12)&0x0f,(mm>>16)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>8 )&0x0f,(mm>>20)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>4 )&0x0f,(mm>>24)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>0 )&0x0f,(mm>>28)&0x0f);
 return val;
}



u8 Wifi_DecryptionHalfByte(u8 bt,u8 m8)
{ 
 return (bt+m8) & 0xf;
}

u32 Wifi_Decryption(u32 dat,u32 mm)
{ 
 val = 0;
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>28)&0x0f,(mm>>0 )&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>24)&0x0f,(mm>>4 )&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>20)&0x0f,(mm>>8 )&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>16)&0x0f,(mm>>12)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>12)&0x0f,(mm>>16)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>8 )&0x0f,(mm>>20)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>4 )&0x0f,(mm>>24)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>0 )&0x0f,(mm>>28)&0x0f);
 val = val ^ mm;
 return val;
}

除了u8 u32转换为byte int,没看出什么别的不同。如果不行,请在我回答下面评论追问。

 byte Wifi_EncryptionHalfByte(byte bt,byte m8)
{ 
 return (bt-m8) & 0xf;
}

int Wifi_Encryption(int dat,int mm)
{ 
 dat = dat ^ mm;
 val = 0;
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>28)&0x0f,(mm>>0 )&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>24)&0x0f,(mm>>4 )&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>20)&0x0f,(mm>>8 )&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>16)&0x0f,(mm>>12)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>12)&0x0f,(mm>>16)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>8 )&0x0f,(mm>>20)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>4 )&0x0f,(mm>>24)&0x0f);
 val = (val<<4) + Wifi_EncryptionHalfByte((dat>>0 )&0x0f,(mm>>28)&0x0f);
 return val;
}



byte Wifi_DecryptionHalfByte(byte bt,byte m8)
{ 
 return (bt+m8) & 0xf;
}

int Wifi_Decryption(int dat,int mm)
{ 
 val = 0;
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>28)&0x0f,(mm>>0 )&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>24)&0x0f,(mm>>4 )&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>20)&0x0f,(mm>>8 )&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>16)&0x0f,(mm>>12)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>12)&0x0f,(mm>>16)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>8 )&0x0f,(mm>>20)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>4 )&0x0f,(mm>>24)&0x0f);
 val = (val<<4) + Wifi_DecryptionHalfByte((dat>>0 )&0x0f,(mm>>28)&0x0f);
 val = val ^ mm;
 return val;
}