Maison >développement back-end >Tutoriel C#.Net >Introduction détaillée aux gadgets de traitement de chaînes C#
Cet article présente principalement le gadget de traitement C#string. Les fonctions incluent : convertir en majuscules ; convertir en chaîne inversée ; Correspondance d'expression régulière ; cryptage base64 ; cryptage et décryptage ROT13 ; MD5 cryptage 32 bits. A une très bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous
J'étais obsédé par la sécurité quand j'étais à l'université, j'ai toujours voulu écrire un petit programme pour traiter les chaînes.
Malheureusement, je n’avais pas beaucoup de temps à ce moment-là, alors j’ai continué à remettre ça à ces vacances d’hiver.
Je n'ai rien à faire pendant les vacances d'hiver, j'ai donc écrit un petit programme pour mettre en pratique mes compétences et réviser les formulaires et les bases.
implémente les fonctions suivantes :
convertir en majuscules
convertir en minuscules
Chaîne inversée
Faire correspondre le nombre d'occurrences d'une chaîne
Correspondance régulière
Cryptage base64
Déchiffrement base64
Cryptage et décryptage ROT13
Cryptage MD5 32 bits
Le programme est encore très simple, sans robustesse et sans vérification des entrées.
Créez des bugs avec soin (Soyez prudent
Et s'il vous plaît, ne vous plaignez pas de mon nom de variable et de mon nom de méthode. Si vous n'avez pas appris le pinyin depuis l'école primaire, vous ne comprendrez certainement pas : )
Parce que j'ai commencé à faire cela comme un projet de test à l'aveugle.
Je suis vraiment trop paresseux pour le traduire
Il existe une méthode intégrée pour convertir en majuscules et minuscules
Console.WriteLine(s.ToUpper());//转换成大写 Console.WriteLine(s.ToLower());//转换成小写
Sortie à l'envers Vérifiez le numéro d'une certaine chaîne courte dans la chaîne
public static void fanxiang(string s) { char[] arrey = s.ToCharArray(); StringBuilder s1 = new StringBuilder(""); for (int i = arrey.Length - 1; i >= 0; i--) { s1.Append(Convert.ToString(arrey[i])); } Console.WriteLine("反向字符串为{0}",s1); }
public static void pipei(string s) { int count = 0; int i; Console.WriteLine("请输入短字符串"); string s2 = Console.ReadLine(); while ((i=s.IndexOf(s2)) >= 0) { count++; s = s.Substring(i + s2.Length); } Console.WriteLine("字符串中出现了{0}次{1}", count, s2); }
correspondance régulière
Je n'ai jamais appris les connaissances des cours réguliers. J'ai beaucoup lu en ligne et la plupart d'entre eux parlent de cours réguliers plutôt que de cours réguliers. J'ai été coincé à écrire ceci pendant environ une journée, et il contient encore des bugs.
Lorsqu'il n'y a pas de résultat correspondant ou que la correspondance est vide ? Provoquera plusieurs sauts de ligne. J'ai aussi oublié comment j'avais testé le bug à ce moment-là.
Tous les jardiniers qui ont des idées peuvent partager leurs idées.
public static void zzpipei(string s) { Console.WriteLine("请输入正则表达式"); string zz = Console.ReadLine(); Regex re = new Regex(zz); string s2 = ""; if (re.IsMatch(s)) { Console.WriteLine("匹配成功"); MatchCollection mc = re.Matches(s); foreach (Match ma in mc) { s2 += ma.Value; s2 += ("\r\n"); } Console.WriteLine("一行为一个匹配结果"); Console.WriteLine(s2); } else { Console.WriteLine("无匹配结果"); } }
cryptage base64
La méthode utilisée est également intégrée. Le cryptage des caractères chinois est différent du cryptage de certains sites Web.
public static void basejiami(string s) { byte[] bytes = Encoding.Default.GetBytes(s); Console.WriteLine("字符串base64加密为{0}", Convert.ToBase64String(bytes)); }
Déchiffrement base64
public static void basejiemi(string s) { byte[] bytes = Convert.FromBase64String(s); Console.WriteLine("字符串base64解密为{0}", Encoding.Default.GetString(bytes)); }
Cryptage et décryptage ROT13
ROT13 est un simple chiffre de remplacement. ROT13 est également une variante du chiffre César développé dans le passé dans la Rome antique.
ROT13 remplace 13 bits en arrière, c'est-à-dire que A est converti en N, B est converti en O, et ainsi de suite.
Le chiffre César remplace 3 chiffres à l’envers. Cette méthode peut être modifiée pour déchiffrer le chiffre César, et cette méthode est sensible à la casse.
ROT13 est son propre inverse ; c'est-à-dire que pour restaurer ROT13, il suffit d'appliquer le même algorithme de cryptage, afin que la même opération puisse être utilisée pour le cryptage et le déchiffrement.
Cet algorithme n'offre pas de véritable sécurité cryptographique, il ne doit donc pas être utilisé à des fins nécessitant de la sécurité. Il est souvent cité comme exemple de cryptage faible.
public static void rotjm(string s) { string jmzf = "";//解密加密后的字符串 char[] arrey = s.ToCharArray(); Console.WriteLine("字符串长度为{0}", arrey.Length); for (int i = 0; i < arrey.Length; i++) { int zfcode = (int)arrey[i]; if (zfcode >= 97 && zfcode <= 109) zfcode = zfcode + 13; else if (zfcode >= 110 && zfcode <= 122) zfcode = zfcode - 13; else if (zfcode >= 65 && zfcode <= 77) zfcode = zfcode + 13; else if (zfcode >= 78 && zfcode <= 90) zfcode = zfcode - 13; jmzf = jmzf + (char)zfcode; } Console.WriteLine("结果为{0}", jmzf); }
Remplacer la chaîne
public static void thzf(string s) { Console.WriteLine("请输入想要被替换的字符串"); string str1 = Console.ReadLine(); Console.WriteLine("请输入想要替换成的字符串"); string str2 = Console.ReadLine(); Console.WriteLine(s.Replace(str1, str2)); }
Cryptage MD5 32 bits
public static void md5jm(string s) { MD5 md5 = new MD5CryptoServiceProvider(); //将字符编码为字节序列 byte[] data = System.Text.Encoding.Default.GetBytes(s); byte[] md5data = md5.ComputeHash(data); md5.Clear(); //遍历加密数组,加密字节,该方法为32位加密 string str = ""; for (int i = 0; i < md5data.Length; i++) { str += md5data[i].ToString("x").PadLeft(2, '0'); } Console.WriteLine("加密结果为{0}",str); }
Mon programme, Utilisation Cadre .NET 4.0.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!