搜索:
首页 >> JavaScript教程 >> Js高级编程 >> 一个不错的javascript加密解密算法源码

一个不错的javascript加密解密算法源码

2010-3-28 作者:aasvvv 来源:51js 网友评论投递文章

来炫耀一下,谁看得懂我写的加密算法

写了一整天了,这个代码用于ajax提交,要求就是加密后内容不能变得过长,加密解密需要效率高,至于安全性,被抓取的数据无法被破解就可以了,下面的f23.ts可以算是密钥。现在有点不如意的地方就是英文内容加密后,数据长度增加一倍,中文加密不会增加数据长度,对于ajax提交,其实中文字符长度是大大减少了。

[提示:你可先修改部分代码,再按运行]

对应的服务器端c#版本,15000字加密再解密不用1毫秒。

//网站提交数据专用
public static string s52s = "8ABC7DLO5MN6Z9EFGdeJfghijkHIVrstuvwWSTUXYabclmnopqKPQRxyz01234";
static bool s52t = true;
static int N, N2;
static int[] s52r = new int[128];
static void s52f()
{
    N = s52s.Length;
    N2 = N * N;
    for (var x = 0; x < s52s.Length; x++)
    {
         s52r[(int)s52s[x]] = x;
    }
    s52t = false;
}

public static string s52e(string n)
{
    if (s52t) s52f();
    int l = n.Length, a, x = 0;
    List<char> t = new List<char>(l * 3);
    for (; x < l; x++)
    {
         a = (int)n[x];
         if (a < N2)
         {
              t.Add(s52s[a / N]);
              t.Add(s52s[a % N]);
         }
         else
         {
              t.Add(s52s[a / N2 + 5]);
              t.Add(s52s[(a / N) % N]);
              t.Add(s52s[a % N]);
         }
    }
    string s = new string(t.ToArray());
    return s.Length.ToString().Length + s.Length.ToString() + s;
}

public static string s52d(string n)
{
    if (s52t) s52f();
    int c;
    if (!int.TryParse(n[0].ToString(), out c)) return "";
    if (!int.TryParse(n.Substring(1, c), out c)) return "";
    int x = c.ToString().Length + 1;
    if (n.Length != c + x) return "";
    int nl = n.Length, a;
    List<char> t = new List<char>(nl * 3);
    for (; x < nl; x++)
    {
         a = s52r[(int)n[x]];
         x++;
         if (a < 5)
         {
              c = a * N + s52r[(int)n[x]];
         }
         else
         {
              c = (a - 5) * N2 + s52r[(int)n[x]] * N;
              x++;
              c += s52r[(int)n[x]];
         }
         t.Add((char)c);
    }
    return new string(t.ToArray());
}


 

站长工具
百度指数批量查询:
相关文章
loading 请稍等,评论加载中...

学习Asp到Asp之家(Aspxhome.com)

闽ICP备09044667号-4