es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para implementar contraseñas hash para usuarios en Oracle Apex 21.1, siga los siguientes pasos:

    1. Cree una tabla en la base de datos de Oracle para almacenar la información del usuario, incluyendo la contraseña hash. Puede utilizar el siguiente código SQL para crear una tabla:
      CREATE TABLE usuarios (
       id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY,
       nombre_de_usuario VARCHAR2(50) NOT NULL,
       contraseña VARCHAR2(100) NOT NULL
      );
      
    2. Cree un nuevo esquema de autenticación en Apex. Vaya a Componentes compartidos > Esquemas de autenticación > Crear. Seleccione “Personalizado” como el método de autenticación y dé un nombre al esquema. En “Nombre de la función de autenticación”, introduzca “HASH_PASSWORD” (sin comillas).
    3. Cree una nueva función llamada “HASH_PASSWORD” en Apex. Vaya a Componentes compartidos > Proceso de aplicación > Crear. Dé un nombre al proceso (por ejemplo “Hash Password”) y seleccione “Función que devuelve un valor escalar”. En la sección de código PL/SQL, introduzca el siguiente código:

      FUNCTION hash_password (p_username IN VARCHAR2, p_password IN VARCHAR2) RETURN VARCHAR2
      IS
      BEGIN
       SELECT DBMS_CRYPTO.HASH(p_password || p_username, DBMS_CRYPTO.HASH_SH512)
       INTO   l_hash
       FROM   dual;
      
       RETURN RAWTOHEX(l_hash);
      EXCEPTION
       WHEN OTHERS THEN
         RETURN NULL;
      END;
      

    4. Modifique su página de inicio de sesión para utilizar el nuevo esquema de autenticación. Vaya a la página de inicio de sesión y seleccione “Esquema de autenticación” en la sección “Autenticación”. Seleccione el nuevo esquema de autenticación que acaba de crear.
    5. Modifique la página de registro de usuario para almacenar la contraseña hash en la base de datos. En el proceso “Enviar”, agregue un nuevo proceso “ACTUALIZACIÓN SQL” para insertar la contraseña hash en la tabla “usuarios”. Utilice el siguiente código SQL:

      UPDATE usuarios
      SET contraseña = hash_password(:P10_NOMBRE_DE_USUARIO, :P10_CONTRASEÑA)
      WHERE nombre_de_usuario = :P10_NOMBRE_DE_USUARIO;
      

    ¡Eso es todo! Su aplicación Oracle Apex ahora debería estar utilizando contraseñas hash para la autenticación de usuarios. En cuanto a los tutoriales para principiantes paso a paso, una rápida búsqueda en Google de “tutorial de contraseñas hash de Oracle Apex” debería proporcionar múltiples recursos para elegir.

Comments are closed.