Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

Was ist XOR und wie funktioniert es?

Beitrags-Cover: Was ist XOR und wie funktioniert es?
InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
XOR (exklusives ODER) – ist eine einfache, aber nützliche logische Operation, die in der Programmierung, Kryptografie und Datenverarbeitung verwendet wird. Sie funktioniert nach der Regel: Wenn zwei Werte gleich sind, ist das Ergebnis 0, wenn sie unterschiedlich sind – 1.

Wie sieht XOR in der Praxis aus?

Stellen Sie sich vor, Sie haben zwei Schalter:
  • Wenn beide aus sind – leuchtet das Licht nicht.
  • Wenn beide ein sind – leuchtet es ebenfalls nicht.
  • Aber wenn einer ein und der andere aus ist – leuchtet das Licht.
So funktioniert XOR: Wenn die Elemente unterschiedlich sind – ergibt sich 1, wenn sie gleich sind – 0.

Wo wird XOR verwendet?

Verschlüsselung – wenn man einen Text nimmt und XOR mit einem Schlüssel macht, erhält man eine verschlüsselte Version. Ein erneutes XOR mit demselben Schlüssel gibt den ursprünglichen Text zurück.
Bitmanipulation – XOR hilft beim Umschalten einzelner Bits in Zahlen.
Unterschiedsprüfung – wird in Algorithmen zum Vergleich zweier Datensätze verwendet.
Einfach gesagt, XOR ist wie die Regel "nur eines von zwei", die bei vielen Aufgaben der Informationsverarbeitung hilft. Lassen Sie uns ein einfaches Beispiel in Ruby (ruby 3.4.2) betrachten:

XOR-Beispiel (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 "🔒 Verschlüsselt: #{encrypted.inspect}"

decrypted = xor_decrypt(encrypted, key)
puts "🔓 Entschlüsselt: #{decrypted}"
Im Terminal wird ungefähr Folgendes ausgegeben:
...
🔒 Verschlüsselt: "#\x00\x15]]\x1FK=6c\x13"
...
🔓 Entschlüsselt: Hello, XOR!
Hier wird jedes Zeichen des Textes mit dem Schlüssel über XOR kombiniert.
Die Wiederholung der Operation mit demselben Schlüssel gibt den ursprünglichen Text zurück.
Dies ist eine der einfachsten Verschlüsselungsmethoden, die in vielen Algorithmen verwendet wird.

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

06. Feb, 15:31 Uhr

Fehlerbehebung [DEPRECATION] #adapters ist veraltet. Verwenden Sie stattdessen #profiles. (Codecov / docile)

meme code
meme code@memecode
Was ist ein Promise in JavaScript und wie versteht man das Wesentliche schnell?
18. Feb, 11:01 Uhr

Was ist ein Promise in JavaScript und wie versteht man das Wesentliche schnell?

meme code
meme code@memecode
Die Struktur von Promise (JavaScript) und wie man damit arbeitet
18. Feb, 14:33 Uhr

Die Struktur von Promise (JavaScript) und wie man damit arbeitet

meme code
meme code@memecode
Was ist Memoization (Beispiele für Ruby und Ruby on Rails)?
20. Feb, 18:16 Uhr

Was ist Memoization (Beispiele für Ruby und Ruby on Rails)?

meme code
meme code@memecode
Was ist Debounce in JavaScript und warum ist es wichtig?
21. Mär, 16:39 Uhr

Was ist Debounce in JavaScript und warum ist es wichtig?

meme code
meme code@memecode
Was ist CFB (Cipher Feedback)?
21. Mär, 16:53 Uhr

Was ist CFB (Cipher Feedback)?

meme code
meme code@memecode
Embedded-Programmierung: Was ist das und wo fängt man an
24. Mär, 16:48 Uhr

Embedded-Programmierung: Was ist das und wo fängt man an

meme code
meme code@memecode
Pessimistische Sperre in Rails: was ist das und wann sollte man sie anwenden? Welche Alternativen gibt es?
31. Mär, 17:45 Uhr

Pessimistische Sperre in Rails: was ist das und wann sollte man sie anwenden? Welche Alternativen gibt es?

meme code
meme code@memecode
Warum überspringt PostgreSQL die ID beim Speichern neuer Einträge? (Heroku)
31. Mär, 19:13 Uhr

Warum überspringt PostgreSQL die ID beim Speichern neuer Einträge? (Heroku)

meme code
meme code@memecode
[Codecov] Was ist der Unterschied zwischen Patch- und Projektabdeckung?
09. Apr, 16:03 Uhr

[Codecov] Was ist der Unterschied zwischen Patch- und Projektabdeckung?

meme code
meme code@memecode
Wie helfen Scratch-Kurse Kindern, Soft Skills zu entwickeln?
11. Apr, 18:24 Uhr

Wie helfen Scratch-Kurse Kindern, Soft Skills zu entwickeln?

meme code
meme code@memecode
24. Apr, 20:17 Uhr

Wir fixieren minikube "Sie versuchen, die amd64-Binärdatei auf einem M1-System auszuführen."

meme code
meme code@memecode