XOREncryption/README.md

29 lines
1.3 KiB
Markdown

XOR Encryption
==================
Simple implementation of XOR Encryption/Decrypting in various languages, including:
- [C](C/main.c)
- [C#](C%23/Main.cs)
- [C++](C++/main.cpp)
- [Dart](Dart/xorencryption.dart)
- [F#](F%23/Program.fs) by [pawelizycki](https://github.com/pawelizycki)
- [Go](Go/xor.go)
- [Groovy](Groovy/XOREncryption.groovy)
- [Java \(Android Compatible\)](Java%20\(Android%20compatible\)/XOREncryption.java)
- [JavaScript \(Node.js Compatible\)](JavaScript/XOREncryption.js)
- [CoffeeScript](CoffeeScript/XOREncryption.coffee)
- [Kotlin](Kotlin/XOREncryption.kt)
- [Objective-C](Objective-C/main.m)
- [PHP](PHP/XOREncryption.php)
- [Python](Python/XOREncryption.py)
- [Ruby](Ruby/xor.rb)
- [Swift](Swift/XOREncryption.swift)
- [Visual Basic.NET](VB.NET/XORCrypto.vb)
This implementation goes beyond the basic single-key model to use multiple keys in a particular sequence, making it that much more difficult to brute-force.
In these examples, I'm encrypting the same string with the same keys in order to keep consistency with the output, and to demonstrate that an encrypted string from a C program can be decrypted in a Java application, or any combination, so long as the keys remain the same.
For an in-depth explanation of the code, check out [KyleWBanks.com](http://kylewbanks.com/blog/Simple-XOR-Encryption-Decryption-in-Cpp).