EncodeString: Difference between revisions
Jump to navigation
Jump to search
Dutchman101 (talk | contribs) (Added code example) |
mNo edit summary |
||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Shared function}} | {{Shared function}} | ||
{{New feature/item|3. | {{New feature/item|3.0156|1.5.5|11849| | ||
This function encodes a string using | This function encodes a [[string]] using the specified algorithm. The counterpart of this function is [[decodeString]]. | ||
}} | }} | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
string | string encodeString ( string algorithm, string input, table options ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 13: | Line 13: | ||
*'''algorithm:''' The algorithm to use. | *'''algorithm:''' The algorithm to use. | ||
*'''input:''' The input to encode. | *'''input:''' The input to encode. | ||
*'''options :''' A table with options and other neccessary data for the algorithm, as detailed below | *'''options:''' A [[table]] with options and other neccessary data for the algorithm, as detailed below. | ||
===Options for each algorithm=== | ===Options for each algorithm=== | ||
* ''tea'': | * ''tea'' ([https://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm Tiny Encryption Algorithm]) | ||
** ''key'' | ** ''key'': A key to encode the input with. | ||
===Returns=== | ===Returns=== | ||
Line 23: | Line 23: | ||
==Example== | ==Example== | ||
'' | Adds an ''/encode'' command in which you can provide an algorithm, key and data to encode. Below is the example provided as both server-side and client-side variations. | ||
<section name="Server" class="server" show="true"> | <section name="Server" class="server" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 47: | Line 48: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | </section> | ||
<section name="Client" class="client" show="true"> | <section name="Client" class="client" show="true"> | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> |
Revision as of 23:52, 1 July 2018
This function encodes a string using the specified algorithm. The counterpart of this function is decodeString.
Syntax
string encodeString ( string algorithm, string input, table options )
Required Arguments
- algorithm: The algorithm to use.
- input: The input to encode.
- options: A table with options and other neccessary data for the algorithm, as detailed below.
Options for each algorithm
- tea (Tiny Encryption Algorithm)
- key: A key to encode the input with.
Returns
Returns the encoded string if successful, false otherwise.
Example
Adds an /encode command in which you can provide an algorithm, key and data to encode. Below is the example provided as both server-side and client-side variations.
Click to collapse [-]
ServeraddCommandHandler("encode", function(player, _, algorithm, key, ...) if algorithm and key then local text = table.concat({...}, " ") if type(text) == "string" and text ~= "" then local encoded = encodeString(algorithm, text, { key = key }) if encoded then outputChatBox("The result of " .. algorithm .. " encoding is: " .. encoded, player) else outputChatBox("Failed to encode. Make sure that all arguments are valid.", player, 255, 0, 0) end else outputChatBox("Please specify text in the command.", player, 255, 0, 0) end else outputChatBox("Invalid algorithm and/or key.", player, 255, 0, 0) end end )
Click to collapse [-]
ClientaddCommandHandler("encode", function(_, algorithm, key, ...) if algorithm and key then local text = table.concat({...}, " ") if type(text) == "string" and text ~= "" then local encoded = encodeString(algorithm, text, { key = key }) if encoded then outputChatBox("The result of " .. algorithm .. " encoding is: " .. encoded) else outputChatBox("Failed to encode. Make sure that all arguments are valid.", 255, 0, 0) end else outputChatBox("Please specify text in the command.", 255, 0, 0) end else outputChatBox("Invalid algorithm and/or key.", 255, 0, 0) end end )
See Also
- addDebugHook
- base64Decode
- base64Encode
- debugSleep
- decodeString
- encodeString
- fromJSON
- generateKeyPair
- getColorFromString
- getDevelopmentMode
- getDistanceBetweenPoints2D
- getDistanceBetweenPoints3D
- getEasingValue
- getNetworkStats
- getNetworkUsageData
- getPerformanceStats
- getRealTime
- getTickCount
- getTimerDetails
- getTimers
- getFPSLimit
- getUserdataType
- getVersion
- gettok
- isTransferBoxVisible
- setTransferBoxVisible
- hash
- inspect
- interpolateBetween
- iprint
- isOOPEnabled
- isTimer
- killTimer
- md5
- passwordHash
- passwordVerify
- pregFind
- pregMatch
- pregReplace
- removeDebugHook
- resetTimer
- setDevelopmentMode
- setFPSLimit
- setTimer
- ref
- deref
- sha256
- split
- teaDecode
- teaEncode
- toJSON
- tocolor
- getProcessMemoryStats
- utfChar
- utfCode
- utfLen
- utfSeek
- utfSub
- bitAnd
- bitNot
- bitOr
- bitXor
- bitTest
- bitLRotate
- bitRRotate
- bitLShift
- bitRShift
- bitArShift
- bitExtract
- bitReplace