C#将字母或数字加密成字母的方法
本文实例讲述了C#将字母或数字加密成字母的方法。分享给大家供大家参考。具体实现方法如下:
public class MD5
{
static List> MappingList;
#region 加密 public static string Encrypt(string str)
///
/// 加密
///
/// 要加密的字符串
/// 返回结果的字符串
public static string Encrypt(string str)
{
MappingList = new List>();
for (char c = '0'; c <= '9'; c++)
MappingList.Add(new KeyValuePair(c, (char)(c - '0' + 'a')));
for (char c = 'a'; c <= 'f'; c++)
MappingList.Add(new KeyValuePair(c, (char)(c - 'a' + 'u')));
return Encoding.ASCII.GetBytes(str)
.Select((b, i) => (b ^ ((byte)(0xa0 + i))).ToString("x2"))
.Aggregate("", (s, c) => s + c)
.ToCharArray().Select(c => MappingList.First(kv => kv.Key == c).Value)
.Aggregate("", (s, c) => s + c);
}
#endregion
#region 解密 public static string Decrypt(string str)
///
/// 解密
///
/// 解密的字符串
/// 返回结果字符串
public static string Decrypt(string str)
{
string base16 = str.ToCharArray()
.Select(c => MappingList.First(kv => kv.Value == c).Key)
.Aggregate("", (s, c) => s + c);
return Encoding.ASCII.GetString((new byte[base16.Length / 2])
.Select((b, i) => (byte)(Convert.ToByte(base16.Substring(i * 2, 2), 16) ^ ((byte)(0xa0 + i)))).ToArray());
}
#endregion
}
希望本文所述对大家的C#程序设计有所帮助。相关阅读:
支持Ajax跨域访问ASP.NET Web Api 2(Cors)的示例教程
Javascript闭包实例详解
javascript实现网页端解压并查看zip文件
Javascript基础之数组的使用
解析libcurl在android下的移植、编译与测试
基于Zend的Captcha机制的应用
Mongodb增加、移除Arbiter节点实例
Win10快速访问怎么关闭?Win10修改注册表值关闭的方法的方法
SQLite3 API 编程手册
JS弹出对话框实现方法(三种方式)
微软推送Win10更新KB3144756:修复浏览器卡住/游戏界面冻结及麦克风无法访问等问题
C#利用Openxml读取Excel数据实例
javascript中递归函数用法注意点
Java模拟QQ桌面截图功能实现方法