RoEncode is an open-sourced encryption system for the use of making in-game puzzles, admin panel accounts, and more…
(Please note that this is not for server <—> client communication)
How to Operate
We’ve made it a simple-to-use module for developers, the following functions that can be used are:
local Example= "Hi"
1: local EncryptCode = RoEncode:Encode(Example) returns “|17|18|”
2: local DecryptCode = RoEncode:Decode(EncryptCode) returns “Hi”
Basically you can grab the string you want for it to encrypt, you can then decrypt the code (return it back to its former-state) by doing such:
local GetMyCodeBackPls = RoEncode:Decode(EncryptCode)
How it works?
When encrypting the string/variable, each character of the string is converted into a number, and when decrypting the string/variable it will be set back to its original state, characters. When running the Encode/Decode functions, the module returns a string value. This simplifies encrypting data because you can make a variable, call the function in it, and print the variable!
Just give me the module link
Hold your horses, make sure you read how it works, here it is: RoEncode - Roblox.
What we have planned
We are currently working on more methods to encrypt your data. Some of these systems will be added to a Beta version soon!
Update Log:
April 10: 2022
1: Launched RoEncode
2: Added support for every symbol (Except -, _, +, and =)
3: Added support for numbers (0-9)
4: Hid the tables from exploiters (The best I can at the moment)
This isn’t encryption. All a person has to do is translate the “encrypted” message letter by letter. In addition, adding a | between letters exponentially increases storage space.
We are currently working on a more secure version of this module. We literally created this today, it takes us time. Please be patient while we improve the system
Right now you are storing the encode and decode dictionary on the script, someone could just use this module to decrypt existing encrypted strings. You should use randomisation as a key (so encrypting requires a key), the key can just be a randomised encode/decode dictionary
Keep in mind this is not so secure still if you still store the key on the client or send via remotes, both are still attackable by intercepting the remote or if the exploiter’s executor supports getting constants or such
Just figured I’d chime in. I have taken a few cyber security courses in university as a computer science student.
First, encoding and decoding can, in fact, be considered a form of encryption. This is why things like caesar ciphers and mono-alphabetic substitution, while very simple (even as simple as your encoding system) are also considered encryption. To advertise this as a “Simple Encryption Module” definitely fits here.
This might be a bug rather than proper criticism, but your use of LoweredString = string.lower(text) in your encoding algorithm when converting from plaintext to ciphertext causes an irreversible change, which makes this algorithm not a proper encoding/encryption algorithm, since it can’t be properly decoded/decrypted. See below:
Yeah so when I wrote the encode function, I had forgotten symbols and capitol letters. In the next update of this module (Probably tomorrow), I will add some major security fixes along with some more encoding methods. I will include more symbols and add the capitol letters. Thanks for the feedback!
HTTPService provides a :GenerateGUID() function which creates a random UUID. Now if I’m not an idiot, then I believe you can use this function for encrypting, although I have no idea how (I’m not skilled into UUID).