Scripts SQL

Créer une fonction SHA512 dans Mysql/MariaDB compatible avec Lemonldap-ng

delimiter // CREATE FUNCTION SHA512 (password VARCHAR(40)) RETURNS VARCHAR(128) DETERMINISTIC BEGIN RETURN SHA2(UNHEX(pass), 512); END //

Créer une fonction SSHA512 (salted) dans Mysql/MariaDB

CREATE FUNCTION SSHA512 (password VARCHAR(40)) RETURNS VARCHAR(200) BEGIN DECLARE salt VARCHAR(16); DECLARE i INT; # Generate 16 digits hex salt SET salt = ''; SET i = 0; REPEAT SET i = i + 1; SET salt = CONCAT(salt, SUBSTRING('0123456789ABCDEF', FLOOR(RAND()*16+1), 1)); UNTIL i = 16 END REPEAT; RETURN CONCAT('{SSHA512}', TO_BASE64(UNHEX(CONCAT( SHA512(CONCAT(HEX(pass), salt)), salt ))) ); END