Tengo un proyecto web donde necesito almacenar un nombre de usuario y contraseña en una base de datos SQL. el nombre de usuario / contraseña son para servicios web de intercambio. (por lo que no se puede modificar, debo poder recuperar una contraseña de texto simple) Cada usuario de la página web deberá ingresar su nombre de usuario y contraseña una vez, y esta es la información que deseo para almacenar en la base de datos SQL, pero de alguna manera no es posible descifrarlo para otros, entonces el usuario inició sesión en la aplicación web (debido a problemas de seguridad) Estaba pensando que podría hacerlo utilizando la contraseña de los usuarios para la aplicación web para cifrar y descifrar la contraseña. De esta manera, solo puede descifrar la contraseña de intercambio si conoce la contraseña de usuario para la aplicación web. (que está recortado para esta aplicación web)
La aplicación web está usando la autenticación de formularios y los usuarios tienen la opción de "Recordarme" para que no tengan que iniciar sesión cada vez y el problema es este. Es posible que no reciba una solicitud con contraseña para cada nueva sesión. Los servidores de intercambio están fuera de nuestro control, por lo que no podemos usar ninguna suplantación, agregar usuarios con permisos especiales a los buzones de correo, etc. Lo único que sabemos sobre el servidor de intercambio es lo que obtenemos a través del servicio de detección automática de intercambio.
La única forma en que puedo pensar es crear una representación hash de la contraseña de los usuarios y guardarla en la cookie de autenticación. Luego puedo usar este hash (más algo de sal) para cifrar y descifrar la contraseña de los servicios web de intercambio.
¿Es esta una forma segura de hacerlo? ¿Hay alguna manera mejor de resolver este problema?