Меня попросили преобразовать некоторый код C ++, чтобы мы могли использовать его в приложении C #. Этот фрагмент кода используется для расшифровки лицензионного ключа регистрации, который встроен и передан в конфигурационные файлы.
Для меня это похоже на шифрование строки 2 байта (исправление) за раз, и я не могу понять, как сделать что-то подобное в C #.
void APIENTRY EncryptRegBuffer(LPSTR StrInput,int SizeInput,LPSTR StrOut)
{
#define SEMENTE 17
#define COMUL 37
WORD randomic=SEMENTE;
WORD *pw;
int i;
memcpy(StrOut,StrInput,SizeInput);
StrOut[SizeInput]=NULO;
pw=(WORD *) StrOut;
for(i=0; i < (SizeInput/2); ++i) {
randomic*=COMUL;
*pw+=randomic;
++pw;
}
}
Может кто-нибудь посоветовать мне методы, используемые для выполнения такого рода операций над строкой с использованием C #?