Difference between revisions of "Cryptography"
From GiderosMobile
| m (Text replacement - "<source" to "<syntaxhighlight") | |||
| (One intermediate revision by one other user not shown) | |||
| Line 44: | Line 44: | ||
| cryptCopy ("|D|myfile.sqlite", "C:/tmp/myfile.crypt") | cryptCopy ("|D|myfile.sqlite", "C:/tmp/myfile.crypt") | ||
| decryptCopy ("C:/tmp/myfile.crypt", "C:/tmp/myfile.sqlite") | decryptCopy ("C:/tmp/myfile.crypt", "C:/tmp/myfile.sqlite") | ||
| − | </ | + | </syntaxhighlight> | 
| {|- | {|- | ||
| Line 53: | Line 53: | ||
| [[Cryptography.b64]] ''Base64 encode some data''<br/><!--GIDEROSMTD:Cryptography.b64(data) Base64 encode some data--> | [[Cryptography.b64]] ''Base64 encode some data''<br/><!--GIDEROSMTD:Cryptography.b64(data) Base64 encode some data--> | ||
| [[Cryptography.md5]] ''computes the MD5 hash of the input string''<br/><!--GIDEROSMTD:Cryptography.md5(input) computes the MD5 hash of the input string--> | [[Cryptography.md5]] ''computes the MD5 hash of the input string''<br/><!--GIDEROSMTD:Cryptography.md5(input) computes the MD5 hash of the input string--> | ||
| + | [[Cryptography.pbkdf2]] ''Password-Based Key Derivation Function 2''<br/><!--GIDEROSMTD:Cryptography.pbkdf2(password,salt,iterations,outputLength) Password-Based Key Derivation Function 2--> | ||
| + | [[Cryptography.sha1]] ''sha1 encode some data''<br/><!--GIDEROSMTD:Cryptography.sha1(data) sha1 encode some data--> | ||
| [[Cryptography.unb64]] ''Base64 decode a string''<br/><!--GIDEROSMTD:Cryptography.unb64(string) Base64 decode a string--> | [[Cryptography.unb64]] ''Base64 decode a string''<br/><!--GIDEROSMTD:Cryptography.unb64(string) Base64 decode a string--> | ||
Latest revision as of 18:40, 15 December 2023
Supported platforms: 






Available since: Gideros 2016.04
Description
Cryptographic primitives.
Example
local key = "GiderosGideros11"
local iv = "GiderosRules2023"
local paddingType = 1
local function cryptCopy(src, dst)
	local srcf = io.open(src, "rb")
	local dstf = io.open(dst, "wb")
	local size = 2^13 -- good buffer size (8K)
	while true do
		local block = srcf:read(size)
		if not block then break end
		block = Cryptography.aesEncrypt(block,key,iv,paddingType)
		dstf:write(block)
	end
	srcf:close()
	dstf:close()
end
local function decryptCopy(src, dst)
	local srcf = io.open(src, "rb")
	local dstf = io.open(dst, "wb")
	local size = 2^13 + 16 -- good buffer size (8K + 16 for padding)
	while true do
		local block = srcf:read(size)
		if not block then break end
		block = Cryptography.aesDecrypt(block,key,iv,paddingType)
		dstf:write(block)
	end
	srcf:close()
	dstf:close()
end
cryptCopy ("|D|myfile.sqlite", "C:/tmp/myfile.crypt")
decryptCopy ("C:/tmp/myfile.crypt", "C:/tmp/myfile.sqlite")
| MethodsCryptography.aesDecrypt decrypts an AES string | EventsConstants | 
