English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Intro
Durante el desarrollo del proyecto, en la página hay información sensible que necesita ser cubierta con "*Algunas informaciones importantes deben ser ocultadas, por lo que se planea escribir un método común.
¡Vamos a hacerlo!
Método 1: especificar la cantidad de caracteres a izquierda y derecha
Método 1.1 intermedio*el número y la longitud real están relacionados
/// <resumen> /// Ocultar información sensible /// </summary> /// <param name="info">Entidad de información</param> /// <param name="left">Número de caracteres conservados a la izquierda</param> /// <param name="right">Número de caracteres conservados a la derecha</param> /// <param name="basedOnLeft">Al ser anormal la longitud, ¿se muestra la izquierda? /// <code>true</code>mostrar a la izquierda, <code>false</code>mostrar a la derecha /// </param> /// <returns></returns> public static string OcultarInformacionSensible(string info, int left, int right, bool basadoEnIzquierda=true) { if (String.IsNullOrEmpty(info)) { return ""; } StringBuilder sbText = new StringBuilder(); int hiddenCharCount = info.Length - left - right; if (hiddenCharCount > 0) { string prefix = info.Substring(0, left), suffix = info.Substring(info.Length - right); sbText.Append(prefix); for (int i = 0; i < hiddenCharCount; i++) { sbText.Append("*"); } sbText.Append(suffix); } else { if (basadoEnIzquierda) { if (info.Length > left && left > 0) { + "****"); } else { sbText.Append(info.Substring(0, 1) + "****"); } } else { if (info.Length > right && right > 0) { sbText.Append("****" + info.Substring(info.Length - right)); } else { sbText.Append("****" + info.Substring(info.Length - 1)); } } } return sbText.ToString(); }
Método 1.2 : El medio*número fijo
/// <resumen> /// Ocultar información sensible /// </summary> /// <param name="info">Entidad de información</param> /// <param name="left">Número de caracteres conservados a la izquierda</param> /// <param name="right">Número de caracteres conservados a la derecha</param> /// <param name="basedOnLeft">Al ser anormal la longitud, ¿se muestra la izquierda? /// <code>true</code>mostrar a la izquierda, <code>false</code>mostrar a la derecha /// <returns></returns> public static string HideSensitiveInfo1(string info, int left, int right, bool basedOnLeft = true) { if (String.IsNullOrEmpty(info)) { return ""; } StringBuilder sbText = new StringBuilder(); int hiddenCharCount = info.Length - left - right; if (hiddenCharCount > 0) { string prefix = info.Substring(0, left), suffix = info.Substring(info.Length - right); sbText.Append(prefix); sbText.Append("****"); sbText.Append(suffix); } else { if (basadoEnIzquierda) { { + "****"); } else { sbText.Append(info.Substring(0, 1) + "****"); } } else { if (info.Length > right && right>0) { sbText.Append("****" + info.Substring(info.Length - right)); } else { sbText.Append("****" + info.Substring(info.Length - 1)); } } } return sbText.ToString(); }
Método 2 : "*"Cantidad fija, configurada como4número, en proporción a la longitud total de la información, por defecto se toman tanto a la izquierda como a la derecha1/3
/// <resumen> /// Ocultar información sensible /// </summary> /// <param name="info">Información</param> /// <param name="sublen">La longitud total de la información en proporción con la subcadena izquierda (o derecha)</param> /// <parámetro name="basadoEnIzquierda">Al ser anómalo el tamaño, ¿se muestra la izquierda? Por defecto true, se muestra a la izquierda por defecto /// <code>true</code>mostrar a la izquierda, <code>false</code>mostrar a la derecha /// <returns></returns> public static string OcultarInformaciónSensible(string info,int sublen = 3,bool basadoEnIzquierda = true) { if (String.IsNullOrEmpty(info)) { return ""; } if (sublen<=1) { sublen = 3; } int subLongitud = info.Length / sublen; if (subLongitud > 0 && info.Length > (subLongitud*2) ) { string prefijo = info.Substring(0, subLongitud), sufijo = info.Substring(info.Length - subLongitud); devolver prefijo + "****" + sufijo; } else { if (basadoEnIzquierda) { string prefijo = subLongitud > 0 &&63; info.Substring(0, subLongitud) : info.Substring(0, 1); devolver prefijo + "****"; } else { string sufijo = subLongitud > 0 &&63; info.Substring(info.Length-subLongitud) : info.Substring(info.Length-1); devolver "****"+sufijo; } } }
extensión
número de teléfono 1
/// <resumen> /// ocultar detalles del número de teléfono /// </summary> /// <parámetro name="teléfono">número de teléfono</param> /// <parámetro name="izquierda">número de caracteres conservados a la izquierda</param> /// <parámetro name="derecha">número de caracteres conservados a la derecha</param> /// <returns></returns> public static string OcultarDetallesTeléfono(string teléfono, int izquierda = 3, int derecha = 4) { devolver OcultarInformaciónSensible(teléfono, izquierda, derecha); }
Los resultados de la prueba son los siguientes:
número de teléfono 2
/// <resumen> /// ocultar detalles del número de teléfono /// </summary> /// <parámetro name="teléfono">número de teléfono</param> /// <parámetro name="izquierda">número de caracteres conservados a la izquierda</param> /// <parámetro name="derecha">número de caracteres conservados a la derecha</param> /// <returns></returns> public static string OcultarDetallesTeléfono(string teléfono, int izquierda = 3, int derecha = 4) { devolver OcultarInformaciónSensible1(teléfono, izquierda, derecha); }
Los resultados de la prueba son los siguientes:
dirección de correo electrónico
/// <resumen> /// Ocultar detalles del menú contextual /// </summary> /// <param name="email">Dirección de correo electrónico</param> /// <param name="left">Número de caracteres de la cabecera del correo electrónico que se mantiene, el valor predeterminado se establece en3</param> /// <returns></returns> public static string HideEmailDetails(string email, int left = 3) { if (String.IsNullOrEmpty(email)) { return ""; } if (System.Text.RegularExpressions.Regex.IsMatch(email, @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"))//Si es una dirección de correo electrónico { int suffixLen = email.Length - email.LastIndexOf('@'); return HideSensitiveInfo(email, left, suffixLen, false); } else { return HideSensitiveInfo(email); } }
Los resultados de la prueba son los siguientes:
Los métodos de implementación de ocultar información sensible como números de teléfono y correos electrónicos que el editor le ha presentado a continuación, esperamos que sean útiles para ustedes. Si tienen alguna pregunta, déjenos un mensaje y el editor les responderá a tiempo. Muchas gracias por su apoyo al sitio web de tutorial de grito!
Declaración: El contenido de este artículo se obtiene de la red, es propiedad del autor original, el contenido se contribuye y carga de manera autónoma por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha realizado un procesamiento editorial humano y no asume la responsabilidad legal correspondiente. Si encuentra contenido sospechoso de infracción de derechos de autor, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @) para denunciar, y proporcione evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.