DecodeString: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
Fernando187 (talk | contribs) m (→Example)  | 
				 (Callback is Optional  argument not required)  | 
				||
| Line 13: | Line 13: | ||
*'''algorithm:''' The algorithm to use.  | *'''algorithm:''' The algorithm to use.  | ||
*'''input:''' The input to decode.  | *'''input:''' The input to decode.  | ||
===Options for each algorithm===  | ===Options for each algorithm===  | ||
Latest revision as of 20:37, 1 November 2025
This function decodes an encoded string using the specified algorithm. The counterpart of this function is encodeString.
Syntax
string decodeString ( string algorithm, string input, [table options, function callback] )
Required Arguments
- algorithm: The algorithm to use.
 - input: The input to decode.
 
Options for each algorithm
- tea (Tiny Encryption Algorithm)
- key: a key to decode the input with.
 
 
- aes128 (Advanced Encryption Standard in CTR mode)
- key: a key to decode the input with.
 - iv: the initialization vector that was generated by encodeString for this combination of data and encryption algorithm.
 
 
- rsa (Rivest-Shamir-Adleman in OAEP with SHA-1 mode)
- key: a private key to decode the input.
 
 
Optional Arguments
- callback: providing a callback will run this function asynchronously, the arguments to the callback are the same as the returned values below.
 
Returns
Returns the decoded string if successful, false otherwise. If a callback was provided, the decoded string is argument to the callback.
Example
Click to collapse [-]
ServerAdds a /decode command in which you can provide an algorithm, key and data to decode.
addCommandHandler("decode", 
    function(player, _, algorithm, key, ...)
        if algorithm and key then
            local text = table.concat({...}, " ")
            if type(text) == "string" and text ~= "" then
                local decoded = decodeString(algorithm, text, { key = key })
                if decoded then
                    outputChatBox("The result of " .. algorithm .. " decoding is: " .. decoded, player)
                else
                    outputChatBox("Failed to decode. 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
)
See Also
- addDebugHook
 - 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