English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Intro
Lorsque vous travaillez sur un projet, il y a certaines informations sensibles sur la page, qui doivent être protégées par "*Pour cacher certaines informations importantes, j'ai l'intention d'écrire une méthode générique.
Faisons-le !
Méthode 1: spécifiez le nombre de caractères de gauche et de droite
Méthode 1.1 du milieu*le nombre de caractères et la longueur réelle sont liés
/// <summary> /// Masquer les informations sensibles /// </summary> /// <param name="info">Entité d'information</param> /// <param name="gauche">Nombre de caractères conservés à gauche</param> /// <param name="droite">Nombre de caractères conservés à droite</param> /// <param name="basedOnLeft">Afficher la gauche lorsque la longueur est anormale</param> /// <code>true</code>/code>Afficher à gauche, <code>false</code>/code>Afficher à droite /// </param> /// <returns></returns> public static string HideSensitiveInfo(string info, int left, int right, bool basedOnLeft=true) { if (String.IsNullOrEmpty(info)) { return ""; } StringBuilder sbText = new StringBuilder(); int hiddenCharCount = info.Length - gauche - droite; if (hiddenCharCount > 0) { string prefix = info.Substring(0, gauche), suffix = info.Substring(info.Length - droite); sbText.Append(prefix); for (int i = 0; i < hiddenCharCount; i++) { sbText.Append("*"); } sbText.Append(suffix); } else { if (basedOnLeft) { if (info.Length > gauche && gauche > 0) { sbText.Append(info.Substring(0, gauche) + "****"); } else { sbText.Append(info.Substring(0, 1) + "****"); } } else { if (info.Length > droite && droite > 0) { sbText.Append("****" + info.Substring(info.Length - droite)); } else { sbText.Append("****" + info.Substring(info.Length - 1)) } } } return sbText.ToString(); }
Méthode 1.2 : Le milieu*le nombre est fixe
/// <summary> /// Masquer les informations sensibles /// </summary> /// <param name="info">Entité d'information</param> /// <param name="gauche">Nombre de caractères conservés à gauche</param> /// <param name="droite">Nombre de caractères conservés à droite</param> /// <param name="basedOnLeft">Afficher la gauche lorsque la longueur est anormale</param> /// <code>true</code>/code>Afficher à gauche, <code>false</code>/code>Afficher à droite /// <returns></returns> public static string HideSensitiveInfo1(string info, int gauche, int droite, bool basedOnLeft = true) { if (String.IsNullOrEmpty(info)) { return ""; } StringBuilder sbText = new StringBuilder(); int hiddenCharCount = info.Length - gauche - droite; if (hiddenCharCount > 0) { string prefix = info.Substring(0, gauche), suffix = info.Substring(info.Length - droite); sbText.Append(prefix); sbText.Append("****"); sbText.Append(suffix); } else { if (basedOnLeft) { if (info.Length > gauche && gauche >0) { sbText.Append(info.Substring(0, gauche) + "****"); } else { sbText.Append(info.Substring(0, 1) + "****"); } } else { if (info.Length > droite && droite>0) { sbText.Append("****" + info.Substring(info.Length - droite)); } else { sbText.Append("****" + info.Substring(info.Length - 1)) } } } return sbText.ToString(); }
Méthode 2 : “*”Le nombre est constant, réglé sur4dans le rapport de la longueur totale de l'information, par défaut, prendre à gauche et à droite1/3
/// <summary> /// Masquer les informations sensibles /// </summary> /// <param name="info">Information</param> /// <param name="sublen">La longueur totale de l'information par rapport à la sous-chaîne gauche (ou droite)</param> /// <param name="basedOnLeft">Afficher la gauche lorsque la longueur est anormale, par défaut true, afficher la gauche par défaut</param> /// <code>true</code>/code>Afficher à gauche, <code>false</code>/code>Afficher à droite /// <returns></returns> public static string HideSensitiveInfo(string info,int sublen = 3,bool basedOnLeft = true) { if (String.IsNullOrEmpty(info)) { return ""; } if (sublen<=1) { sublen = 3; } int subLength = info.Length / sublen; if (subLength > 0 && info.Length > (subLength*2) ) { string prefix = info.Substring(0, subLength), suffix = info.Substring(info.Length - subLength); return prefix + "****" + suffix; } else { if (basedOnLeft) { string prefix = subLength > 0 &63; info.Substring(0, subLength) : info.Substring(0, 1); return prefix + "****"; } else { string suffix = subLength > 0 &63; info.Substring(info.Length-subLength) : info.Substring(info.Length-1); return "****"+suffix; } } }
Extension
Numéro de téléphone 1
/// <summary> /// Masquer les détails du numéro de téléphone /// </summary> /// <param name="phone">Numéro de téléphone</param> /// <param name="left">Nombre de caractères conservés à gauche</param> /// <param name="right">Nombre de caractères conservés à droite</param> /// <returns></returns> public static string HideTelDetails(string phone, int left = 3, int right = 4) { return HideSensitiveInfo(phone, left, right); }
Les résultats du test sont les suivants :
Numéro de téléphone 2
/// <summary> /// Masquer les détails du numéro de téléphone /// </summary> /// <param name="phone">Numéro de téléphone</param> /// <param name="left">Nombre de caractères conservés à gauche</param> /// <param name="right">Nombre de caractères conservés à droite</param> /// <returns></returns> public static string HideTelDetails(string phone, int left = 3, int right = 4) { return HideSensitiveInfo1(phone, left, right); }
Les résultats du test sont les suivants :
adresse e-mail
/// <summary> /// Masquer les détails du clic droit /// </summary> /// <param name="email">Adresse e-mail</param> /// <param name="left">Nombre de caractères à conserver à l'extrémité du e-mail, valeur par défaut :3</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 c'est une adresse e-mail { int suffixLen =email.Length - email.LastIndexOf('@'); return HideSensitiveInfo(email, left, suffixLen,false); } else { return HideSensitiveInfo(email); } }
Les résultats du test sont les suivants :
Les méthodes d'implémentation de l'occultation des informations sensibles telles que le numéro de téléphone portable et l'adresse e-mail en C# que l'éditeur vous présente ci-dessus devraient vous être utiles. Si vous avez des questions, n'hésitez pas à me laisser un message, je vous répondrai à temps. Je vous remercie également de votre soutien au site de tutoriels Yelling !
Déclaration : Le contenu de cet article est来源于网络,appartient à l'auteur original, le contenu est apporté par les utilisateurs d'Internet de manière volontaire et téléversé, ce site ne détient pas de propriété intellectuelle, n'a pas été traité par l'éditeur humain et ne assume aucune responsabilité juridique. Si vous trouvez du contenu présumé plagiat, n'hésitez pas à envoyer un e-mail à : notice#oldtoolbag.com (Lorsque vous envoyez un e-mail, veuillez remplacer # par @ pour signaler un abus, et fournissez des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu présumé plagiat.