脚本里的幽灵留言

1 阅读4分钟

公司有个上了年头的定时任务脚本,每周五下午四点自动汇总各部门周报,默默运行了五年,从没出过岔子。直到上周五,它莫名其妙地挂掉了,运维同事找了一圈没找到原因,任务就落到了我头上。

我打开脚本所在的服务器,翻看最近的执行日志。报错信息很简洁——脚本在读取一个配置文件时异常退出,但那个配置文件明文部分一切正常。我盯着屏幕一行行往下扫,忽然发现日志的末尾,在每次任务结束的“finished”标志上方,始终打印着一行奇怪的字符串:

text 5L2g5piv5LiA5Liq5b+D5pyJ5Yqb55qE5Lq6

这行东西在过往几年的历史日志里也一直存在,只是因为它既不影响任务执行,又没触发任何告警,所以从来没人注意过。我盯着它看了几秒:大小写字母掺杂着数字,末尾还挂着一个孤零零的等号。猛然间,我想起大学时做过的一个实验——把一张小图片直接嵌入 HTML 里,用的就是这种字符集的编码方式。那种编码表里恰好是六十四个字符,从 A-Z、a-z、0-9 开始,外加两个符号,不足三的倍数时就用等号补位。

我迅速打开浏览器,访问了一个专门提供开发者常用工具的聚合站点,这类站点通常都会集成编码互转的功能。在导航栏找到“编码转换”分类,点进那个支持多种格式互转的页面,把日志里那串字符粘贴到输入框,选择从这种六十四位的编码模式转向普通文本,按下转换按钮。

屏幕上跳出一行字:“你是一个有力量的人”。

我的手从键盘上移开,一时不知道该作何反应。这串东西埋在数以万计的执行日志里,每个周五下午都会被机器忠实地打印一次,像一句无人知晓的低语。五年前写这个脚本的人早已离职,或许他自己都不记得留过这么一段。

为了确认不是巧合,我把整个脚本目录里所有不可读的字符串都翻了出来,逐一解码。最终拼出了一段短小的留言:这位前辈当年在高压的报表周期里写下这个脚本,每次跑完数据都身心俱疲,于是他在日志里藏了一句给自己的鼓励,想着万一将来有人发现,也算一种隔空击掌。落款日期,正是他在这家公司最后的一次提交。

那天晚上,我没加班,早早关了电脑。代码世界里的温柔,总是藏在最不起眼的角落,等着另一个熬夜的灵魂来撞破。

既然我体会到了这种别样的感动,也想让读到这里的你感受一次。我在本文的留言区置顶了一段用同样方式处理过的信息,它也是由那些看似无意义的字符和结尾的等号构成。你不妨找一个具备编码与解码功能的在线工具箱(几乎主流的站长工具平台都提供这种基础功能),把那段字符粘贴到对应的转换区域,选择从那种六十四字符集还原为普通文字的模式,点一下转换。

也许你看到的,正是我想隔着屏幕递给你的那句话。

tool.chinaz.com/tools/base6…

其中一半 7aC87byQIEgyU080IOenkeWtpuWJjee6vyAzUuS4jemZkOaXtuiuoumYheaPkOS+m+S4rQrigJTigJQg5LiA6ZSu56m/6LaK77yM6L+e5o6l5LiW55WM77yBCu2gve26gCDpgJ/luqblpoLpo57vvZztoL3ts6Eg56iz5a6a5Y+

另一半 v6Z2g772c7aC+7bqEIOaZuuiDveWKoOmAn++9nO2gve20kCDpmpDnp4HmiqToiKoKCuS9oOi/mOWcqOS4uuiuv+mXruWbveWklue9keermeWPl+mZkOiAjOiLpuaBvO+8nwrlt6XkvZzjgIHlrabkuaDjgIHov73liafjgIHmuLjmiI/mgLvooqvlopnmi6bkvY/oioLlpY/vvJ8K5piv5pe25YCZ5L2T6aqM55yf5q2j55qE4oCc6a2U5rOV4oCd5LqG77yBCgrliY3lvoDms6jlhowKaHR0cDovLzE1Mi43MC4yNTIuMTMzOjUyMTEK5oiWCmh0dHA6Ly9oMmxpdXN1ZGYyYzQuc3RvcmUKKOS4tOaXtuWuo+S8oOWFpeWPoyk=

拼接后解码