XOREncryption/README.md

26 lines
1.2 KiB
Markdown
Raw Normal View History

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)
- [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)
2016-03-14 18:25:47 +03:00
- [Java \(Android Compatible\)](Java \(Android compatible\)/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)
- [Python](Python/XOREncryption.py)
2017-02-06 00:25:52 +03:00
- [Ruby](Ruby/xor.rb)
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).