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.
Ten post nie ma jeszcze żadnych dodatków od autora.