首页
社区
课程
招聘
[旧帖] [求助]请问这个加/解密算法是 已知的什么算法?还是自已写的?或类似什么加密算法,强度如何?未知算法前破解他是否容易? 0.00雪花
发表于: 2008-1-21 15:50 3649

[旧帖] [求助]请问这个加/解密算法是 已知的什么算法?还是自已写的?或类似什么加密算法,强度如何?未知算法前破解他是否容易? 0.00雪花

2008-1-21 15:50
3649
///   <summary>
                        ///   解密/加密
                        ///   </summary>
                        ///   <param   name="pText"> 明文 </param>
                        ///   <param   name="pPassword"> Keys </param>
                        ///   <param   name="pEnCryptTf"> true   加密:   false   解密 </param>
                        ///   <returns> 返回密文 </returns>
                        private   static   string   EnOrDeCrypt(string   pText,   string   pPassword,   bool   pEnCryptTf)
                        {
                                int   MulNumber   =   pEnCryptTf   ?   1   :   -1;
                                int   num;
                                int   num4   =   0;
                                int   num6   =   0;
                                int   length   =   pPassword.Length;
                                //num6等于pPassword的每位asscii码相加
                                for   (num   =   0;   num   <   length;   num++)
                                {
                                        num6   +=   pPassword[num];
                                }
                                //num6   等于   num6   除以   6   的整数
                                num6   /=   6;
                                int   num3   =   0;
                                string   str   =   "";
                                length   =   pText.Length;
                                for   (num   =   0;   num   <   length;   num++)
                                {
                                        int   num5   =   pText[num];
                                        num3++;
                                        if   (num3   ==   6)
                                        {
                                                num3   =   0;
                                        }
                                        switch   (num3)
                                        {
                                                case   0:
                                                        num4   =   num5   -   (MulNumber   *   (num6   -   2));
                                                        break;

                                                case   1:
                                                        num4   =   num5   +   (MulNumber   *   (num6   -   5));
                                                        break;

                                                case   2:
                                                        num4   =   num5   -   (MulNumber   *   (num6   -   4));
                                                        break;

                                                case   3:
                                                        num4   =   num5   +   (MulNumber   *   (num6   -   2));
                                                        break;

                                                case   4:
                                                        num4   =   num5   -   (MulNumber   *   (num6   -   3));
                                                        break;

                                                case   5:
                                                        num4   =   num5   +   (MulNumber   *   (num6   -   5));
                                                        break;
                                        }
                                        if   (num5   ==   0)
                                        {
                                                throw Exection("EnOrDeCrypt中出现无法处理的字符");
                                        }
                                        int   num7   =   1;
                                        if   (num4   >   0xffff)//0xffff=65535
                                        {
                                                num4   =   num7   +   ((num4   -   0xffff)   -   1);
                                        }
                                        if   (num4   <   num7)
                                        {
                                                num4   =   0xffff   -   ((num7   -   num4)   -   1);
                                        }
                                        str   =   str   +   ((char)   num4);
                                }
                                return   str;
                        }

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
help me
2008-1-22 15:08
0
游客
登录 | 注册 方可回帖
返回
//