← strona głównaProgramowanie (Програмування)

Co to jest XOR i jak to działa?

XOR (wykluczające LUB) – to prosta, ale użyteczna operacja logiczna, która jest stosowana w programowaniu, kryptografii i przetwarzaniu danych. Działa na zasadzie: jeśli dwa wartości są takie same, wynik będzie 0, jeś...

Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.
XOR (wykluczające LUB) – to prosta, ale użyteczna operacja logiczna, która jest stosowana w programowaniu, kryptografii i przetwarzaniu danych. Działa na zasadzie: jeśli dwa wartości są takie same, wynik będzie 0, jeśli różne – 1.

Jak XOR wygląda w praktyce?

Wyobraźmy sobie, że macie dwa przełączniki:
  • Jeśli oba wyłączone – światło nie świeci.
  • Jeśli oba włączone – też nie świeci.
  • Ale jeśli jeden włączony, a drugi wyłączony – światło się zapala.
Tak działa XOR: jeśli elementy są różne – wynik to 1, jeśli takie same – 0.

Gdzie stosuje się XOR?

Szyfrowanie – jeśli weźmiemy tekst i zrobimy XOR z kluczem, otrzymamy zaszyfrowaną wersję. Powtórny XOR tym samym kluczem zwróci oryginalny tekst.
Zmiana bitów – XOR pomaga w przełączaniu poszczególnych bitów w liczbach.
Sprawdzanie różnic – używane w algorytmach porównywania dwóch zbiorów danych.
Prosto mówiąc, XOR to jak zasada "tylko jedno z dwóch", która pomaga w wielu zadaniach związanych z przetwarzaniem informacji. Rozważmy prosty przykład napisany w Ruby (ruby 3.4.2)

Przykład XOR (Ruby)

def xor_encrypt(text, key)
  text.bytes.map.with_index { |char, i| char ^ key.bytes[i % key.size] }.pack('C*')
end

def xor_decrypt(encrypted_text, key)
  xor_encrypt(encrypted_text, key)
end

text = "Hello, XOR!"
key = "key123"

encrypted = xor_encrypt(text, key)
puts "🔒 Zaszyfrowano: #{encrypted.inspect}"

decrypted = xor_decrypt(encrypted, key)
puts "🔓 Odszyfrowano: #{decrypted}"
W terminalu wydrukuje mniej więcej tak:
...
🔒 Zaszyfrowano: "#\x00\x15]]\x1FK=6c\x13"
...
🔓 Odszyfrowano: Hello, XOR!
Tu każdy znak tekstu jest łączony z kluczem przez XOR.
Ponowna operacja tym samym kluczem zwraca początkowy tekst.
To jeden z najprostszych sposobów szyfrowania, który jest używany w wielu algorytmach.

🔥 Więcej postów

Wszystkie wpisy
Czym jest ORM i po co jest potrzebny?
Programowanie (Програмування)26 paź '25 14:00

Czym jest ORM i po co jest potrzebny?

Kiedy pracujemy z bazami danych, zazwyczaj musimy pisać zapytania SQL - selekcje, wstawienia, akt...

Co to jest CFB (Cipher Feedback)?
Programowanie (Програмування)21 mar '25 16:53

Co to jest CFB (Cipher Feedback)?

CFB (skrót od Cipher Feedback) – to jeden ze sposobów szyfrowania danych, który działa na zasadzi...

Co to jest PORO w Ruby?
Programowanie (Програмування)8 gru '24 12:46

Co to jest PORO w Ruby?

W Ruby często wspomina się termin PORO (Plain Old Ruby Object), ale co to takiego i dlaczego jest...

Co to jest funkcja w programowaniu?
Programowanie (Програмування)24 cze '24 18:15

Co to jest funkcja w programowaniu?

Funkcja to podstawowy blok budulcowy programowania, który definiuje zestaw instrukcji lub działań...