You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS URL加密方法原理解析及自定义域名替换指引

两段URL加密代码的原理与自定义替换方法

一、加密/解密工作原理

这两段代码逻辑完全一致,只是变量名不同,本质是简单的字符编码偏移转换,算不上严格的加密,工作流程如下:

  • 变量uu/uu2是一串连续的4位数字组合,每4位对应真实URL中一个字符的ASCII码值加1000后的结果
  • 循环里每次截取4位数字,转成整数后减去1000,还原出原字符的ASCII码
  • 通过String.fromCharCode()把ASCII码转回对应字符,最后将所有字符拼接得到真实URL
  • 注意:代码开头定义的_/_2变量(比如https://google.com)完全没用,最后会被解密后的URL覆盖掉

举个直观例子:uu的前4位是1104,计算1104-1000=104,ASCII码104对应的字符是h,正好是真实URLhttps://google.com的第一个字符。

二、替换为自定义域名的方法

要把代码里的URL换成自己的域名(比如google.com),需要先生成对应域名的加密数字串,步骤如下:

  1. 用这段JavaScript代码生成加密串:
// 传入目标URL,返回对应的uu格式字符串
function generateUU(targetUrl) {
  let encryptedStr = '';
  for (let char of targetUrl) {
    // 获取字符ASCII码,加1000后转成4位字符串(不足补前导0)
    let code = char.charCodeAt(0) + 1000;
    encryptedStr += code.toString().padStart(4, '0');
  }
  return encryptedStr;
}

// 示例:生成google.com的加密串
console.log(generateUU('https://google.com'));
  1. 运行上面的代码,把控制台输出的字符串替换原代码里的uu或uu2的值
  2. 可以直接删掉原代码里开头的var _ = 'https://google.com';这类无用变量

替换后的示例代码(以第一段为例):

<script>
  var u = [];
  uu = '生成的加密串';
  for (var j = 4; j <= uu.length; j += 4) {
   u.push(String.fromCharCode(parseInt(uu.toString().substr(j - 4, 4)) - 1000));
  }

  var _ = u.join('');
  function openUrl1(){
   window.open(_);
  }
</script>

内容的提问来源于stack exchange,提问作者Miles Clinton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:55:19