コード例 #1
0
        public Token(string tokenString) : base()
        {
            Inicializa();

            try
            {
                string pass = string.Empty;

                // Desciframos la trama
                Cifrado.AES cifrado  = new Cifrado.AES();
                string      strToken = cifrado.Decrypt(tokenString, pass, "inicializa cadena", "SHA1", 1, "BSHP-3512-BACRFA", 128);

                // La parseamos
                string[] tramas = strToken.Split('/');

                // Cargamos el id_usuario
                this.Id_Usuario = Convert.ToInt32(tramas[0]);

                // Cargamos la fecha de caducidad
                long duracionToken = long.Parse(tramas[4]);
                if (duracionToken == 0)
                {
                    duracionToken = DateTime.MaxValue.Ticks;
                }
                this.TickHora = duracionToken;


                // Almacenamos el token original
                this.TokenString = tokenString;

                // Validamos la fecha de expiración
                DateTime fchCaducidad = new DateTime(this.TickHora);

                // Establece el estado tras la carga
                if (fchCaducidad < DateTime.Now)
                {
                    this._esValido = false;
                }
                else
                {
                    this._esValido = true;
                }
            }
            catch (Exception)
            {
                this._esValido = false;

                /*
                 * log.Error(
                 *  string.Format("TokenUsuario({0}, {1})", token, pass),
                 *  er);
                 */
            }
        }
コード例 #2
0
        //ILogger log = BSHP.LoggerManager.LogFactory.GetLogger(typeof(TokenManager).ToString());

        /// <summary>
        /// Genera un nuevo token de usuario, devolviendo el string cifrado del mismo
        /// </summary>
        /// <param name="Id_Usuario"></param>
        /// <param name="Id_Idioma"></param>
        /// <param name="PermisoZonas"></param>
        /// <param name="TrickHoraCaducidad"></param>
        /// <param name="ClavePrivada"></param>
        /// <returns></returns>
        public string GenerateStringToken(int Id_Usuario, int Id_Device, long?TrickHoraCaducidad)
        {
            string strTokenCifrado = "";

            try
            {
                // Creamos nuestra trama
                string strToken = Id_Usuario.ToString() + "/";

                Cifrado.AES cifrado = new Cifrado.AES();
                strTokenCifrado = cifrado.Encrypt(strToken, "", "inicializa cadena", "SHA1", 1, "BSHP-3512-BACRFA", 128);
            }
            catch (Exception er)
            {
                strTokenCifrado = "";
                var exception = er;
                //log.Error("GenerateStringToken()", er);
            }
            return(strTokenCifrado);
        }