public string obtenerContrasenaCifrada(string claveEncriptada) { String contrasena = ""; String contrasenaCifrada = ""; CryptoWS.Crypto wsCrypto = new CryptoWS.Crypto(); do { Random random = new Random(DateTime.Now.Millisecond); double a = random.NextDouble(); if (a == 0 || a == 1) { continue; } double b = a * 100000000; long asd = (long)b; contrasena = "" + asd; }while (contrasena.Length != 8); contrasenaCifrada = wsCrypto.encrypt(contrasena, claveEncriptada); return(contrasenaCifrada); }
public string generarProspectoMasivo(int cantidad, string rutaArchivo) { ProspectoMasivoDA prospectoMasivoDA = new ProspectoMasivoDA(); string codidoLote = DateTime.Now.ToString("yyyyMMdd-hhmm"); SqlConnection cn = GetConnection(); cn.Open(); SqlTransaction trans = cn.BeginTransaction(IsolationLevel.ReadUncommitted); ConnectionManager cm = new ConnectionManager(); string server = ConfigurationSettings.AppSettings[INGFondos.Constants.Conexiones.ServidorAccesos]; string database = ConfigurationSettings.AppSettings[INGFondos.Constants.Conexiones.BaseDeDatosAccesos]; SqlConnection cn2 = cm.GetTrustedConnection(server, database); cn2.Open(); SqlTransaction trans2 = cn2.BeginTransaction(IsolationLevel.ReadUncommitted); StreamWriter sw; DataTable dtRuta = prospectoMasivoDA.ObtenerParametroSistema("RUTA_ARCHIVO_CREACION_MASIVA", cn, trans); //String rutaArchivo;// = dtRuta.Rows[0]["VALOR"].ToString(); //aquí debe ir la ruta obtenida x FolderBrowser rutaArchivo = rutaArchivo + "\\INGFONDOSPROSPECT_" + DateTime.Now.ToString("dd-MM-yyyy_hh-mm-ss") + ".txt"; sw = new StreamWriter(rutaArchivo, false, Encoding.Default); StringBuilder cabecera = new StringBuilder(); cabecera.Append("Fecha" + new String(' ', 4) + ": " + DateTime.Now.ToString("dd/MM/yyyy hh:mm") + "\r\n"); DataTable dtUsuario = prospectoMasivoDA.ObtenerUsuario(codigoUsuario, cn2, trans2); string nombreCortoUsuario = dtUsuario.Rows[0]["NOMBRE_CORTO"].ToString(); cabecera.Append("Usuario" + new String(' ', 2) + ": " + nombreCortoUsuario + "\r\n"); cabecera.Append("Cantidad : " + cantidad.ToString() + "\r\n"); sw.WriteLine(cabecera); String contrasena = ""; String contrasenaCifrada = ""; String claveEncriptada = prospectoMasivoDA.ObtenerClaveEncriptada(cn, trans); CryptoWS.Crypto wsCrypto = new CryptoWS.Crypto(); int primerCUC = 0; int ultimoCUC = 0; try { for (int i = 0; i < cantidad; i++) { do { Random random = new Random(DateTime.Now.Millisecond); double a = random.NextDouble(); if (a == 0 || a == 1) { continue; } double b = a * 100000000; long asd = (long)b; contrasena = "" + asd; }while(contrasena.Length != 8); contrasenaCifrada = wsCrypto.encrypt(contrasena, claveEncriptada); dtPrmGrabarDatosParticipe = prospectoMasivoDA.grabarDatosParticipe(nombreCortoUsuario, contrasenaCifrada, cn, trans); idParticipe = Convert.ToInt32(dtPrmGrabarDatosParticipe.Rows[0]["VALOR_PARAMETRO"].ToString()); idParticipeAcceso = dtPrmGrabarDatosParticipe.Rows[1]["VALOR_PARAMETRO"].ToString(); dtCodigoParticipe = prospectoMasivoDA.ObtenerCodigoParticipe(idParticipe, cn, trans); codigoParticipe = dtCodigoParticipe.Rows[0]["CODIGO"].ToString(); if (i == 0) { primerCUC = Convert.ToInt32(codigoParticipe); } ultimoCUC = Convert.ToInt32(codigoParticipe); prospectoMasivoDA.registrarCuentaParticipacionXParticipe(idParticipe.ToString(), codigoParticipe, nombreCortoUsuario, cn, trans); sw.WriteLine(codigoParticipe + "," + contrasena); } prospectoMasivoDA.InsertarLoteGeneracion(codidoLote, primerCUC, ultimoCUC, codigoUsuario, cn, trans); sw.Close(); trans.Commit(); trans2.Commit(); return(codidoLote); } catch (Exception ex) { trans.Rollback(); trans2.Rollback(); throw ex; } finally { trans.Dispose(); trans2.Dispose(); cn.Close(); cn2.Close(); } }