首页 > 代码库 > C#三层架构(获取中文拼音和给密码加密)
C#三层架构(获取中文拼音和给密码加密)
在学习三层架构时,我们在需要获取中文字所获取的拼音,需要引进一个ChnCharInfo.dll的程序文件,并且引用命名空间
using Microsoft.International.Converters.PinYinConverter;
接下来是如何实现拼音的获取:
1 public static string GetPinyins(string name) 2 { 3 //进行拼接字符串 4 StringBuilder sb = new StringBuilder(); 5 //由于ChineseChar中必须为char类型,所以我们进行字符串遍历成char类型 6 foreach (char item in name) 7 { 8 //判断得到的字符是否为合法的中文字符 9 if (ChineseChar.IsValidChar(item))10 {11 //如果是合法的,那么执行下面的语句12 ChineseChar c = new ChineseChar(item);13 //根据传入的字符得到拼音14 ReadOnlyCollection<string> ps = c.Pinyins;15 //拼接字符串,这里说明一下:由于拼音是有声韵的,在这里得到的拼音也是包含音调,即ps的最后一个字符16 //所以我们要截取字符串,保留前面的17 sb.Append(ps[0].Substring(0, ps[0].Length - 1));18 }19 else20 {21 //如果为不合法的,不用获取,直接拼接22 sb.Append(item);23 }24 }25 //返回得到的拼接字符串26 return sb.ToString();27 }
那怎么获取对密码加密呢?
首先也要引用:
using System.Security.Cryptography;
实现:
1 public static string GetMD5(string pwd) 2 { 3 //这里我们使用的Winform自带的MD5加密 4 //这里的MD5为私有的不可访问的,不过提供了一个可以访问的公共的方法进行创建 5 MD5 md5 = MD5.Create(); 6 //准备拼接字符串 7 StringBuilder sb = new StringBuilder(); 8 //通过用户传入的密码得到byte数组 9 byte[] bytes = Encoding.Default.GetBytes(pwd);10 //将得到的byte数组进行计算Hash码11 byte[] newBytes = md5.ComputeHash(bytes);12 //遍历每一个Hash码进行16进制的转换13 foreach (byte item in newBytes)14 {15 //将Hash进行16进制格式的转换16 sb.Append(item.ToString("X2"));17 }18 //返回得到的拼接字符串,即得到32位的加密密文19 return sb.ToString();20 }
C#三层架构(获取中文拼音和给密码加密)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。