自己写的加密方式

const string sNil = "'(&.&!'%&$\"'&)\" \",&)$(%#$-$#$$\" ";    //'''(&.&!''%&$"''&)" ",&)$(%#$-$#$$" ' ;
        const string sTemp = " !\"#$%&'()*+,-./";                      // ' !"#$%&''()*+,-./';
        /// <summary>
        /// 
        /// </summary>
        /// <param name="xUserID"></param>
        /// <returns></returns>
        public static string EncodeUserID(string xUserID)
        {
            char[] sUserID = xUserID.ToCharArray();
            string sResult = sNil.Substring((sUserID.Length - 1) * 2, 30 - (sUserID.Length - 1) * 2);   //DS-〉&.&!'%&$\"'&)\" \",&)$(%#$-
            int k = 0, j = 0, l = 0;
            for (int i = sUserID.Length - 1; i >= 0; i--)
            {
                l = Convert.ToInt32(sUserID[i]);
                k = (l - 32) % 16;
                j = ((l - 32) / 16) + 1;

                sResult = sResult + Convert.ToChar(32 + j + 1) + sTemp[k];
            }
            return sResult;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="xUserID"></param>
        /// <returns></returns>
        public static string DecodeUserID(string xUserID)
        {
            string resultStr = string.Empty, sResult = string.Empty;
            for (var i = xUserID.Length - 1; i >= 0; )
            {
                int x = sTemp.IndexOf(xUserID[i]);
                int y = Convert.ToInt32(xUserID[i - 1]) - 33;
                int l = ((y - 1) * 16) + 32 + x;
                resultStr += Convert.ToChar(l);
                sResult = sNil.Substring((resultStr.Length - 1) * 2, 30 - (resultStr.Length - 1) * 2);
                string tmpStr = xUserID.Substring(0, i - 1);
                if (sResult == tmpStr)
                {
                    break;
                }
                i -= 2;
            }
            return resultStr;
        } 

  

转载于:https://www.cnblogs.com/kingkoo/p/3880394.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值