码迷,mamicode.com
首页 > Windows程序 > 详细

C#三层架构(获取中文拼音和给密码加密)

时间:2014-11-12 22:33:04      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:winform   style   blog   io   color   ar   os   使用   sp   

  在学习三层架构时,我们在需要获取中文字所获取的拼音,需要引进一个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                 else
20                 {
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#三层架构(获取中文拼音和给密码加密)

标签:winform   style   blog   io   color   ar   os   使用   sp   

原文地址:http://www.cnblogs.com/myparadiseworld/p/4093571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!