Outils pour utilisateurs

Outils du site


scripts-sql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

scripts-sql [2018/12/03 22:28]
scripts-sql [2018/12/05 22:45] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Scripts SQL ======
  
 +===== Créer une fonction SHA512 dans Mysql/MariaDB compatible avec Lemonldap-ng =====
 +
 +<code sql>
 +delimiter //
 +
 +CREATE FUNCTION SHA512 (password VARCHAR(40)) RETURNS VARCHAR(128) DETERMINISTIC
 +BEGIN
 +  RETURN SHA2(UNHEX(pass), 512);
 +END
 +//
 +</code>
 +
 +===== Créer une fonction SSHA512 (salted) dans Mysql/MariaDB =====
 +
 +<code sql>
 +
 +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
 +</code>