方方格子 · 本机编号 → 授权码

粘贴软件离线激活窗口里的「本机编号」,一键生成对应授权码

授权码里含有一段随机码,每次点击「生成」/「重新生成」得到的授权码都不一样,均可正常使用。 若后端 api.php 可用,每次生成会写入后台生成记录;不可用时自动回退到浏览器本地算法。
算法说明(还原自官方离线注册机 FFCellOfflineRegister.exe)

原程序为 .NET WinForms 小程序,逻辑等价于:

Md5(s)      = MD5(UTF8(s)) 的 32 位大写十六进制
Encode(x)   = Md5(x) 末 4 位,把 "0" 换成 "X"、"O" 换成 "Y"
本机编号     = "DN" + Encode(机器名)                     // 软件里显示的那串

// 生成授权码(输入 = 本机编号原文,含 DN 前缀)
enc  = Encode(本机编号)
date = 今天 + 365 天 → yyyyMMdd
guid = 8 位随机小写十六进制
h    = Md5(enc + guid + date) 的末 8 位

授权码 = guid + "-" + date + "-" + enc + "-" + h[0:2] + "-" + h[2:8]
       = GGGGGGGG-YYYYMMDD-CCCC-HH-HHHHHH     (32 字符)

要点 MD5 输入按 UTF-8 取字节;hex 先小写后统一转大写; 本机编号必须包含 DN 前缀——注册机是对输入框里的整串做 MD5,不做任何截断或还原。

注意 本机编号必须以 DN 开头——注册机是对输入框里的整串做 MD5,不会自动补前缀。
部署了后台时结果会同步到管理面板;否则纯静态也能用(运算在浏览器本地完成,数据不上传)。