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