您现在的位置是:首页 > 文章详情文章详情

简单的电话号码加密解密类

luyang 2018-01-09 635人已围观

简介白码驿站是一个面向开发者的知识共享社区,专注于为开发者打造一个纯净的技术交流社区(源码下载,免费在线图片压缩,jquery插件,插件下载,JS/CSS在线压缩。)-白码驿站

    在做项目的过程中难免会遇到客户资料的问题,对于密码处理我们一般会使用md5加密的方式,但是对于电话的加密我之前是没有遇到过的,对于客户资料尤其重要的今天来说,资料的加密解密也就用的比较繁多,电话不像用户密码一样可以使用MD5加密,因为我们知道MD5加密是不可逆的,一旦加密之后就无法还原,但是电话号码不一样,电话不仅要加密,还要解密,用于找回密码,修改密码,和一些其他的用途,废话少说,上代码:

                                        
/// <summary>
        /// 加密规则
        /// </summary>
        /// <returns></returns>
        public static Dictionary<char, char> getMapData()
        {   
            Dictionary<char, char> map = new Dictionary<char, char>();
            map.Add('b', '0');
            map.Add('a', '1');
            map.Add('c', '2');
            map.Add('g', '3');
            map.Add('h', '4');
            map.Add('k', '5');
            map.Add('o', '6');
            map.Add('w', '7');
            map.Add('q', '8');
            map.Add('p', '9');  //此处的键值相对可以随意改变,定制自己的一套加密
            return map;
        }


        /// <summary>
        /// 加密 
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static string getPhoneStr(string val)
        {
            string returnStr = "";
            if (val != null && val.Length > 0)
            {
                 char[] stringArr = val.ToCharArray();
                 for (int i = 0; i < stringArr.Length; i++)
                {
                    foreach (var map in getMapData())
                    {
                        if (map.Value == stringArr[i])   //比较
                        {
                            returnStr += map.Key;  //取出键
                        }
                    }
                }   
            }
            return returnStr;
        }
       

        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static String getPhoneNum(string val)
        {
            String returnStr = "";
            if (val != null && val.Length > 0)
            {
                char[] stringArr = val.ToCharArray();
                for (int i = 0; i < stringArr.Length; i++)
                {
                    foreach (var map in getMapData())
                    {
                        if (map.Key == stringArr[i])   //比较
                        {
                            returnStr += map.Value;  //取出键
                        }
                    }
                }
            }
            return returnStr;
        }
                                


上面代码是个人写的,写的比较简单,就一个加密解密,没有添加复杂的换位,加字符的操作,

可能会有很多的不足的地方,如有不足,还请指出。

Tags: C# 、 字符串加密

很赞哦! (0)

系统处理中...