English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método de implementación para ocultar información sensible como número de teléfono y correo electrónico en C#

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.

Te gustará también