Advertisement
Demonslay335

Untitled

Aug 22nd, 2018
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. unsafe static byte[] Cipher(byte[] PlainText, byte[] Key)
  2. {
  3. void* ptr = stackalloc byte[8];
  4. int[] array = new int[256];
  5. int[] array2 = new int[256];
  6. byte[] CipherTextBuffer = new byte[PlainText.Length];
  7. int i;
  8. for (i = 0; i < 256; i++)
  9. {
  10. array[i] = (int)Key[i % Key.Length];
  11. array2[i] = i;
  12. }
  13. int num = 0;
  14. i = 0;
  15. int num2 = num;
  16. while (i < 256)
  17. {
  18. num2 = (num2 + array2[i] + array[i]) % 256;
  19. *(int*)((byte*)ptr + 4) = array2[i];
  20. array2[i] = array2[num2];
  21. array2[num2] = *(int*)((byte*)ptr + 4);
  22. i++;
  23. }
  24. int num3 = 0;
  25. i = 0;
  26. num2 = 0;
  27. int num4 = num3;
  28. while (i < PlainText.Length)
  29. {
  30. num4++;
  31. num4 %= 256;
  32. num2 += array2[num4];
  33. num2 %= 256;
  34. *(int*)((byte*)ptr + 4) = array2[num4];
  35. array2[num4] = array2[num2];
  36. array2[num2] = *(int*)((byte*)ptr + 4);
  37. *(int*)ptr = array2[(array2[num4] + array2[num2]) % 256];
  38. CipherTextBuffer[i] = (byte)((int)PlainText[i] ^ *(int*)ptr);
  39. i++;
  40. }
  41. return CipherTextBuffer;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement