⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _ec62.js

📁 《JavaScript王者归来》examples.rar
💻 JS
字号:
/*******************************************\
  游戏人原创Ec62加密算法类(2006-8-3)
  This JavaScript was writen by Dron.
  @2003-2008 Ucren.com All rights reserved.
\*******************************************/
/*
|| 注意,Ec62 算法用到 MD5,所以 DronFw 的类库
|| 中必需至少保留 MD5 类方可正常运行,你无需指
|| 定加载 MD5 类,Ec62 会自动加载。
*/

if (!DronFw.Class.MD5) DronFw.Import("MD5");
DronFw.Class.Ec62 = function ()
{
	//62进制表
	var numbase = "0123456789" +
		"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
		"abcdefghijklmnopqrstuvwxyz";
	var md5 = new DronFw.Class.MD5();
	function to62scale(n)//将10进制数转化成62进制数
	{
		var re = "";
		while(n>=62)
		{
			re = numbase.charAt(n%62) + re;
			n = Math.floor(n/62);
		}
		re = numbase.charAt(n%62) + re;
		re = "000".substr(0,3-re.length) + re;
		return re;
	}
	function to10scale(word)//将62进制数转化成10进制数
	{
		var re = 0;
		re = numbase.indexOf(word.charAt(0))*3844;
		re += numbase.indexOf(word.charAt(1))*62;
		re += numbase.indexOf(word.charAt(2));
		return re;
	}
	this.Encode = function(str,password)//加密函数
	{
		if (str==""||password=="") return false;
		var re = "";
		for (var i=0; i<str.length; i++) re += to62scale(str.charCodeAt(i) + password.charCodeAt(i%password.length));
		re = md5.calc(password,32).substr(0,6).toLowerCase() + re;
		return re;
	}
	this.Decode = function(str,password)//解密函数
	{
		if (str==""||password=="") return false;
		if (md5.calc(password,32).substr(0,6).toLowerCase()!=str.substr(0,6)) return false;
		var re = "",l = password.length;
		for(var i=6; i+3<=str.length; i+=3) re += String.fromCharCode(to10scale(str.substr(i,3))-password.charCodeAt((i/3-2)%l));
		return re;
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -