Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.69 KB | None | 0 0
  1. Specification
  2. BODY
  3. Dependencies
  4. Errors
  5. Grants
  6. REST
  7.  
  8. CREATE OR REPLACE PACKAGE BODY GSY_auth_apex
  9. AS
  10.   PROCEDURE ajouter_utilisateur (
  11.     p_username IN VARCHAR2,
  12.     p_password IN VARCHAR2)
  13.   AS
  14.     v_username EX_UTILISATEUR.USERNAME%TYPE;
  15.     BEGIN
  16.       v_username := TRIM (UPPER (p_username));
  17.       INSERT INTO EX_UTILISATEUR (username, password)
  18.       VALUES (v_username,
  19.               get_hash (v_username, p_password));
  20.       COMMIT;
  21.       EXCEPTION
  22.         WHEN OTHERS THEN ROLLBACK;
  23.         RAISE;
  24.   END ajouter_utilisateur;
  25.   -- One-way hash du mot de passe. DBMS_OBFUSCATION_TOOLKIT est
  26.   -- maintenant obsol�te -- vous pouvez am�liorer cette fonction
  27.   -- avec DBMS_CYPTO. Cette fonction devrait �tre "wrapped" car
  28.   -- l'algorithme est expos�.
  29.   FUNCTION get_hash (
  30.     p_username IN VARCHAR2,
  31.     p_password IN VARCHAR2)
  32.   RETURN VARCHAR2
  33.   AS
  34.     v_password_hash EX_UTILISATEUR.PASSWORD%TYPE;
  35.     v_salt VARCHAR2(100) := '8VQH6NS8RK14PK8UPJ2HOA11Q5ICBL';
  36.     v_username EX_UTILISATEUR.USERNAME%TYPE;
  37.   BEGIN
  38.     v_username := TRIM (UPPER (p_username));
  39.     v_password_hash := UTL_RAW.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.md5
  40.       (input_string => p_password || SUBSTR(v_salt,10,13) || v_username ||
  41.         SUBSTR(v_salt, 4,10)));
  42.     RETURN v_password_hash;
  43.   END get_hash;
  44.   -- Voici la fonction appel�e par le mod�le d'authentification
  45.   -- Cr��e � partir de "CUSTOM_AUTH". Peut �tre modifi�e pour ajouter
  46.   -- date d'expiration, etc.
  47.   FUNCTION utilisateur_valide (
  48.     p_username IN VARCHAR2,
  49.     p_password IN VARCHAR2)
  50.   RETURN BOOLEAN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement