// Size of the encrypted buffer should be
void XOREncrypt (unsigned char* buffer, unsigned long length, unsigned char* key)
{
for (unsigned i = 0; i < length/8; ++i)
for (unsigned j = 0; j < 8; ++j)
buffer[i*8 + j] = buffer[i*8 + j]^key[j];
}
// Calculate padding
padding = 8 - (pVpnHdr->m_Length%8);
// Zero initialize padding
memset (((unsigned char*)(pVpnHdr + 1)) + pVpnHdr->m_Length, 0, padding);
// Encrypt packet
XOREncrypt ((unsigned char*)(pVpnHdr + 1), pVpnHdr->m_Length + padding, pVpnHdr->m_Key);
what would the above code be in Delphi?