File

teal-src/util/hashes.d.tl @ 12953:ebe3b2f96cad

mod_tokenauth: Switch to new token format (invalidates existing tokens!) The new format has the following properties: - 5 bytes longer than the previous format - The token now has separate 'id' and 'secret' parts - the token itself is no longer stored in the DB, and the secret part is hashed - The only variable length field (JID) has been moved to the end - The 'secret-token:' prefix (RFC 8959) is now included Compatibility with the old token format was not maintained, and all previously issued tokens are invalid after this commit (they will be removed from the DB if used).
author Matthew Wild <mwild1@gmail.com>
date Tue, 21 Mar 2023 14:33:29 +0000
parent 12564:36e769c64054
line wrap: on
line source

local type hash = function (msg : string, hex : boolean) : string
local type hmac = function (key : string, msg : string, hex : boolean) : string
local type kdf = function (pass : string, salt : string, i : integer) : string

local record lib
	sha1 : hash
	sha256 : hash
	sha224 : hash
	sha384 : hash
	sha512 : hash
	md5 : hash
	sha3_256 : hash
	sha3_512 : hash
	blake2s256 : hash
	blake2b512 : hash
	hmac_sha1 : hmac
	hmac_sha256 : hmac
	hmac_sha224 : hmac
	hmac_sha384  :hmac
	hmac_sha512 : hmac
	hmac_md5 : hmac
	hmac_sha3_256 : hmac
	hmac_sha3_512 : hmac
	scram_Hi_sha1 : kdf
	pbkdf2_hmac_sha1 : kdf
	pbkdf2_hmac_sha256 : kdf
	equals : function (string, string) : boolean
	version : string
	_LIBCRYPTO_VERSION : string
end
return lib