2013-10-06 22:33:50 +04:00
XOR Encryption
2013-10-06 01:59:02 +04:00
==================
2013-10-07 00:15:01 +04:00
Simple implementation of XOR Encryption/Decrypting in various languages, including:
2013-10-07 00:18:01 +04:00
- [C ](C/main.c )
2013-10-07 04:15:24 +04:00
- [C# ](C%23/Main.cs )
2013-10-07 00:18:01 +04:00
- [C++ ](C++/main.cpp )
2013-10-07 03:50:34 +04:00
- [Dart ](Dart/xorencryption.dart )
2015-07-08 20:25:36 +03:00
- [F# ](F%23/Program.fs ) by [pawelizycki ](https://github.com/pawelizycki )
2016-07-09 13:34:57 +03:00
- [Go ](Go/xor.go )
2013-10-07 00:40:20 +04:00
- [Groovy ](Groovy/XOREncryption.groovy )
2019-01-08 22:09:19 +03:00
- [Java \(Android Compatible\) ](Java%20\(Android%20compatible\ )/XOREncryption.java)
2015-09-14 22:53:12 +03:00
- [JavaScript \(Node.js Compatible\) ](JavaScript/XOREncryption.js )
2018-01-07 23:30:44 +03:00
- [Kotlin ](Kotlin/XOREncryption.kt )
2013-10-07 00:18:01 +04:00
- [Objective-C ](Objective-C/main.m )
2018-08-31 02:54:57 +03:00
- [PHP ](PHP/XOREncryption.php )
2013-10-07 00:18:01 +04:00
- [Python ](Python/XOREncryption.py )
2017-02-06 00:25:52 +03:00
- [Ruby ](Ruby/xor.rb )
2019-01-08 21:35:15 +03:00
- [Swift ](Swift/XOREncryption.swift )
2016-03-14 18:25:47 +03:00
- [Visual Basic.NET ](VB.NET/XORCrypto.vb )
2013-10-06 02:02:51 +04:00
2013-10-06 02:03:24 +04:00
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.
2013-10-06 02:02:51 +04:00
2013-10-07 03:50:34 +04:00
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.
2013-10-07 00:27:29 +04:00
2016-07-09 13:42:50 +03:00
For an in-depth explanation of the code, check out [KyleWBanks.com ](http://kylewbanks.com/blog/Simple-XOR-Encryption-Decryption-in-Cpp ).