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                 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         } 
时间: 2024-11-10 01:13:07

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

JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字,所以alert对话框中显示的是多种读音的组合: 如何实现? 如何实现通过拼音首字母快速查找页面内的中文内容呢? 过程原理是这样的:例如要对一些人名进行快速查找,当页面加载完成后,对所有人名建立一个索引,生成拼音首字母与姓名的对应关系:然后监听键盘事件,当用户按下键盘时,根据键值得到按下的是哪个字母,然后遍历索引中是否存在相同的拼音首字母: 这里还实现了根据字母组合来查找的功能,原理是这样的:当用户按键时,

JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容

实现效果: 图一: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" /> 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字.所以alert对话框中显示的是多种读音的组合. 怎样实现? 怎样实现通过拼音首字母高速查找页面内的中文内容呢? 过程原

iOS 获取中文拼音

iOS中文转成拼音. oc: NSString *hanziText = @"中文转拼音"; if ([hanziText length]) { NSMutableString *ms = [[NSMutableString alloc] initWithString:hanziText]; if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {

MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等

http://www.cnblogs.com/darrenji/p/3809219.html 本篇为系列第一篇,包括: ■ 1.搭建项目■ 2.卸载Entity Framework组件,并安装最新版本■ 3.使用EF Code First创建领域模型和EF上下文■ 4.三层架构设计    □ 4.1 创建DAL层        ※ 4.1.1 MySportsStore.IDAL详解        ※ 4.1.2 MySportsStore.DAL详解 1.搭建项目 MySportsStore.

MVC项目实践,在三层架构下实现SportsStore-11,使用Knockout实现增删改查

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为"在三层架构下实现SportsStore"系列的第十一篇,包括: ■ 13.使用Knocko

如何获取中文输入/拼音

之所以要了解这个问题是因为在autocomplete中我们希望提前捕获用户输入的拼音,这样的话就可以尽早提供常用选项,从而让用户尽量少的输入,尽量快的找到对应选项. 首先想到的就是keyup, keydown, keypress, input事件,看看哪个事件可以在用户输入拼音的时候就捕获.在网上搜了一下,最终解决方案是: 捕获keyup事件 参考: 使用中文输入法时对键盘事件的处理 http://www.cnblogs.com/owenChen/p/3215421.html 如何获取中文输入/

php获取中文字符拼音首字母

//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}); if($fchar >= ord('A') && $fchar <= ord('z')){ return strtoupper($str{0}); } $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s

php获取中文的拼音代码

获取中文的拼音代码 <?php class Pinyin { protected static $keys = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui

php获取中文字符拼音首字母 阿星小栈

//php获取中文字符拼音首字母 public function getFirstWord($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0}); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s