第026章 碎片拼图

全文复制 9661 字

苏晓禾的安全屋没有窗户。

林朗坐在那台从不联网的黑色笔记本电脑前,屏幕的光映在他的眼镜片上,把瞳孔照成两枚微小的冷色块。他已经盯着同一段乱码文字看了四十分钟,手指在键盘上敲了又停,停了又敲,呼吸声在封闭的房间里显得格外清晰。

那封邮件藏在苏晓禾去年做的一个被毙选题的文件夹里,文件名是「报销凭证_2023_08.xlsx」,藏在二十多张发票扫描件中间。如果不是苏晓禾提醒他"把所有看起来正常的东西重新查一遍",他可能永远不会点开这个文件。

打开之后,第一眼很正常——一张差旅费报销单,北京出差,住宿费八百七,餐补一百二。但林朗注意到文件尾部的字节数比正常报销单大了将近三倍。他把文件后缀改成了.txt,打开之后,看到的就是这段乱码。

他试了三种解码方式。

第一种,Base64解码。出来的是一串更长的乱码,像是一段被再次加密的文本。他在心里标记了一个"壳"。

第二种,凯撒偏移。他把所有字母按偏移量十三位还原,出来的是半通不通的英文句子,像是机器翻译的中间产物,语法结构混乱,但有几个单词反复出现:label、tag、descendant、mill。

"标签……后代……纺织厂。"

林朗的呼吸停了一瞬。他把这几个关键词输入到记忆中的数据结构里——LGK Analytics的查询日志中,那个"姓江的查询"使用的标签名称,就是"琅城纺织厂职工后代"。

他在椅子上坐直了。后背的肌肉绷紧了一瞬,然后又慢慢放松下来。

第三种方式,他花了将近二十分钟。他注意到乱码文本中有一段特别长的数字序列,长度是二百五十六位——标准的RSA加密密钥长度。他没有私钥,不可能直接解密。

但他看到了一个细节。

数字序列的最后十二位是重复的,像是一个循环检验码。

他闭上眼睛,在脑海中把这段数字的数学结构过了一遍。三秒后,他睁开眼,在键盘上敲了一段脚本——不是暴力破解,而是利用循环检验码的算法漏洞,反向推导出密钥的种子值。

屏幕上跳出一行结果:「SEED: 19780316」

一串数字,看起来像是一个日期。

一九七八年三月十六日。

他把这个数字代入密钥生成算法,重新解码那段乱码。进度条走了三秒——这是林朗经历过的焦虑感最长的三秒——然后屏幕上弹出了一段完整的文本。

是一份备忘录。

格式是LGK Analytics内部系统通用的模板,左上角有项目编号,右上角有密级标记。标题只有七个字:「职工后代标签建立规则」。

林朗一个字一个字地读。

"本标签覆盖琅城纺织厂在职及退休职工直系后代,共计约二十一百人。标签数据来源为改制前人事档案数字化副本,由甲方提供。标签查询权限仅限于项目组核心成员,每次查询需记录操作日志。"

他扫了一眼时间戳——这份备忘录的创建时间是两年前,比"姓江的查询"开始时间早了将近一年半。

这意味着,这个标签早在查询开始之前就已经建好了。而查询,只是标签上线后的一个应用场景。

他继续往下翻。

备忘录的第二页是技术细节,他快速扫过——数据库结构、索引字段、权限分级——这些都是标准配置。但他的目光在第三页停住了。

第三页是一个异常字段的说明,只有一行话:

"特殊标记:江姓,老厂区档案编号Z-1978-016。此标记仅限项目核心成员可见,不纳入常规查询结果集。"

Z-1978-016。

一九七八年,档案编号零一六。

林朗的手指在键盘上悬停了很久。他想起那份备忘录的创建时间,想起那个密钥种子值"19780316",想起标签建立规则的第三页上那个被隐藏的字段。

所有数字都指向同一年份。

一九七八年。

他盯着屏幕,指尖发凉。不是因为恐惧,而是因为那种站在数据冰山边缘看到的征兆——表面上的规律只是冰山的一角,水面下的真相可能比他能想象的任何东西都大。

他需要知道Z-1978-016是什么。

但他没有LGK服务器的访问权限了。所有设备都被清空,所有远程通道都被切断。他手里只有一台不联网的老旧笔记本电脑,和一段已经解码的备忘录文本。

他靠在椅背上,天花板上是一盏日光灯,发出持续的嗡鸣声,像是某种电子生物的呼吸。

他的手机震了一下——不是来电,是短信。

他拿起来一看,号码是苏晓禾的,内容只有四个字:「报社有车。」

林朗立刻明白了。苏晓禾在告诉他,报社门口有人盯梢,她暂时过不来。他锁屏,把手机放回口袋,目光重新落回屏幕上那段备忘录。

他需要一个人去查。

不是通过数据,而是通过物理世界。

他想起自己在档案馆门口的经历——档案管理员说改制前的资料被"上级单位"调走了。如果纸质档案和电子数据都被人为封存,那么唯一可能还有痕迹的地方,就是纺织厂旧址本身。

他关掉电脑,拔掉电源,站起来。

这是他在这次调查中第一次从数据世界走向物理世界。他不知道自己能不能找到什么,但他知道,如果他继续待在屏幕前,他永远不会知道Z-1978-016的答案。

南城午后的阳光毒辣得能把柏油路晒化。

江跃蹲在纺织厂后墙的阴影里,嘴里叼着一根没点燃的烟,眯着眼打量着面前的铁皮围墙。围墙有两米多高,铁皮锈得发黄,边缘翘起来的地方像刀刃一样锋利。墙上贴着一张褪色的告示牌,白底红字写着"危房禁止入内",落款是"琅城市纺织厂改制工作组",年份是二〇〇〇年。

十九年了。

铁皮围墙也挡不住二十多年的风雨。他在墙角摸了一圈,找到了一处缺口——铁皮底部被撬开了一条缝,边缘的锈迹上有一道新鲜的刮痕,露出下面银白色的金属光泽。

有人来过。而且最近来过。

他侧身挤了进去。铁皮的边缘刮过他的皮夹克,发出刺耳的摩擦声,在空旷的废墟里格外响亮。

他站直了,看着眼前的景象,沉默了。

琅城纺织厂——曾经全国第三大的棉纺集团,九十年代最辉煌的时候有五千多名工人,三班倒日夜不停,厂房里机器的轰鸣声隔着几条街都能听见。现在,只剩下几栋塌了半边的厂房,窗户全部碎了,墙体上爬满了藤蔓植物,野草从水泥地的裂缝里长出来,最高的已经齐腰深。

阳光从塌陷的屋顶破洞里照下来,在废墟上投下一束束斜斜的光柱,光束里飘着细密的灰尘,像是某种缓慢流动的、带着重量的雾。

空气里混合着腐朽的木头味、铁锈味和一种说不清的化学气味,像是某种工业原料在封闭空间里缓慢分解了几十年后散发出来的残余。

江跃认出了车间的位置——不是因为他来过,而是因为六爷跟他描述过:"最东边那个最高的厂房,就是第三车间。"

他朝那个方向走过去。脚下的碎水泥和瓦砾发出咔嚓咔嚓的声音,在空旷的废墟里回荡。一只野猫从坍塌的墙体上跳下来,看了他一眼,然后消失在齐腰深的草丛里。

他路过了一个倒下的机器底座,铸铁的,上面刻着编号和出厂年份——一九九〇年,上海纺织机械厂。机器的操作面板上,几个按钮的塑料外壳还在,颜色已经褪成了灰白色,像是被太阳漂白过的骨头。

他蹲下来,手指摸了摸操作面板的边缘。触感粗糙,冰凉,像触摸一块墓碑。

他站起来,继续往第三车间走。

第三车间的屋顶塌了一半,剩下的那一半也摇摇欲坠。墙壁上开了几个大洞,阳光从洞口照进来,在车间内部画出几块刺眼的光斑。地面上散落着断掉的梭子、生锈的纺织机零件、一堆堆发霉的棉絮。有一台织布机还保持着一个相对完整的状态,机身上落满了灰,像一具被时间遗忘的骨架。

江跃站在车间中央,环顾四周。

这里是他父亲工作了二十年的地方。

他从没来过这里。父亲下岗时才四岁,他没有任何关于纺织厂的记忆。但此刻站在这里,他有一种奇怪的感觉——像是某种从出生就被切断的神经末梢,突然感受到了微弱的电流。

他深吸了一口气,灰尘和铁锈味灌进肺里。他咳嗽了两声,甩了甩头,把注意力拉回现实。

六爷告诉他,地下室入口在第三车间东头的楼梯间下面。

他穿过车间,绕过一堆堆废墟,找到了楼梯间。木门已经腐朽了,门框歪斜着,门板的底部烂掉了大半,露出里面的空隙。他伸手推了一下,门吱呀一声,整个儿倒在了里面,扬起一片灰尘。

他用手扇了扇空气中的灰,低头看向楼梯间下方。

楼梯通往地下室,但台阶被碎石堵了一半。水泥碎块、断裂的钢筋、碎砖头,堆在一起,大概有一米多高。他蹲下来,用手电筒照了照——碎石堆下面有空隙,可以钻过去,但需要半蹲着爬行。

他犹豫了两秒,然后放下手机,开始爬。

碎石棱角尖锐,膝盖和手掌被硌得生疼。他爬过那段狭窄的通道,手电筒的光束在前方晃荡,照出一扇铁门的轮廓。

铁门半掩着,门缝里透出一股更浓烈的化学气味——不是刚才那种淡淡的,是扑面而来的,像是有人在地下室里倒了一桶工业溶剂,然后密封了几十年。

江跃用衣服捂住口鼻,推开铁门。

门后是一个大约二十平米的地下室。天花板很低,大概只有两米出头,抬头就能看到布满蛛网的管道。地面上积了大约十厘米深的积水,水面上浮着一层油污,在手电筒的照射下泛着彩色的光斑。

积水里泡着几个倒下的铁皮文件柜,柜门半开着,泡烂的纸张像水草一样从柜子里飘出来,在水面上漂浮着。

江跃站在门口,用手电筒扫了一圈。

地下室不大,除了那几个文件柜,角落里还有一张朽烂的木桌和一把翻倒的椅子。墙上挂着几块褪色的塑料牌,上面写着"安全生产"和"防火防盗"——字迹已经模糊,只能勉强辨认出轮廓。

他脱了鞋,卷起裤腿,踩进积水里。

水的温度出乎意料地低,冰凉的触感从脚踝一直蔓延到小腿。他踩到水底的瓷砖,能感觉到瓷砖表面有一层滑腻的沉积物,不知道是什么东西。他每走一步,水花溅起的声音都被地下室的墙壁反弹回来,形成一种沉闷的回响。

他走到第一个文件柜前,蹲下来,用手电筒照了照柜子内部。

泡烂的文件夹一个叠着一个,纸张已经发黄发黑,边缘全部卷曲起来,像被水泡过的树叶。他伸手去拿,手指刚碰到纸面,纸张就直接碎掉了,变成一团湿漉漉的纸浆。

他皱了皱眉,把柜门关上,移到第二个柜子。

第二个柜子的情况差不多。文件夹的标签已经褪色,字迹完全无法辨认。他试着把最上面的文件夹抽出来,纸质倒是比第一个柜子里的好一些,没有直接碎掉,但翻开后,里面的内容已经被水泡成了一片模糊的墨迹,像是用蓝色墨水写的字被水洗过了一遍,只剩下一些淡淡的痕迹。

他翻了五六本,全部一样。

"妈的。"他低声骂了一句,把最后一个文件夹扔回柜子里。水花溅起来,打湿了他的衣服下摆。

他站在地下室中央,水位似乎比刚才又涨了一些。化学气味越来越浓,他的眼睛开始发涩,呼吸也有些不顺畅。他意识到自己不能再待太久——这种浓度的化学气体,长时间暴露可能会出问题。

他准备转身离开。

就在转身的那一瞬间,他右脚的脚趾踢到了什么硬物。

不是碎砖头,不是铁皮——那个硬物没有移动,像是固定在地上的。

他蹲下来,把手机的手电筒照向水面。

水面上浮着一层油污,光线被折射得支离破碎,看不清楚。他把手伸进水里,冰凉的触感从指尖蔓延到手腕,他摸到了那个硬物——是一个金属柜子的底部,侧倒在地面上,大半截被淹没在水里,只剩一个角露在水面外。

他用力推了一下柜子,柜子纹丝不动——太重了,里面的东西还装得满满的。

他换了个角度,两只手抱住柜子的顶部,使出全身力气,一点一点地把柜子翻过来。金属和水的摩擦声在狭小的地下室里被放大,像是某种野兽的低吼。

柜子翻过来了,水花四溅,泼了他一脸。

他抹了一把脸上的水,用手电筒照向柜子的内部。

这个柜子没有被泡烂——因为它是倒扣在地上的,柜门朝下,积水没有进入内部。柜子里面装着的不是文件,而是一叠叠牛皮纸信封,用塑料布包裹着,保存得相对完好。

江跃的心脏跳动加快了一拍。

他伸手去拿最上面的信封,塑料布冰凉黏滑,他费了好大劲才解开包裹的结扣。打开牛皮纸信封,里面是一叠泛黄的表格——工资单。

他迅速扫了一眼,年份是二〇〇〇年一月,琅城纺织厂第三车间,出勤表和工资发放记录。

他把这叠工资单放回去,又拿了第二个信封。二〇〇〇年二月,同样是第三车间的工资单。

第三个信封,二〇〇〇年三月。改制前的最后一个月。

他正准备继续翻找,手指碰到了柜子内侧的金属壁。

不是平整的。

有刻痕。

他用手电筒仔细照了照柜子内侧的背面,看到了一行字。字迹歪歪扭扭,刻得很深,金属表面被刮出了一道道清晰的痕迹,没有被水泡掉,没有被锈蚀覆盖。

他一个字一个字地读出来:

"工资单在周家,出事找江建国。"

日期在下面,刻得更深:二〇〇〇年三月。

江跃盯着那行字,感觉自己全身的血液都凝固了一瞬。

"江建国。"

这个名字像一枚钉子,钉进了他的太阳穴。他父亲的名字他当然知道——江德福。但"江建国"是谁?同姓,第三车间,二〇〇〇年三月,刻在地下室的文件柜里,旁边是工资单。

他父亲从来提过这个名字。

他掏出手机,想拍照。但手机屏幕显示——无信号。

"这个地方完全没有信号。"

他犹豫了一秒,把手机屏幕按灭,准备把工资单全部带走。

就在这时,他听到了一个声音。

从楼梯间方向传来的,很轻,但在这个寂静的地下室里,却清晰得让人头皮发麻。

脚步声。

有人走进了地下室入口。

江跃没有动。

他蹲在积水里,水已经漫过大腿,冰凉的触感从腰部蔓延到胸口。他关掉了手电筒,整个地下室陷入了完全的黑暗——不是那种夜晚的暗,是那种连自己眼睛在哪里都分辨不出的、绝对的黑。

他屏住呼吸,竖起耳朵。

脚步声从楼梯间方向传来,踩在碎石上,发出咔嚓咔嚓的声响。不是一个人,是两个——不,一个。脚步很轻,不像是穿着工装鞋,更像是运动鞋或者皮鞋,踩在碎石上的声音比较清脆,没有那种厚重感。

脚步声在碎石的通道里停了一下,然后继续向铁门的方向移动。

江跃的手指在黑暗里摸索,他摸到了翻倒的柜子的边缘,金属冰凉刺骨。他握紧了柜子的边缘,指关节发白。

铁门吱呀一声被推开了。

一道光线从门口照进来,不是手电筒的强光,是手机屏幕那种微弱的、冷白色的光。光束在黑暗的地下室里扫了一圈,然后停在了他所在的方向——准确地说,停在了他翻开的那个柜子上。

"谁在那里?"一个声音问。

声音不高,甚至有点紧张,尾音微微上扬,带着一种经过克制但仍然透出来的试探。

江跃没有回答。他透过黑暗判断对方的位置——大概在门口,离他七八米,手机屏幕的光照范围有限,应该还没有看到他的具体轮廓。

"我问,谁在那里?"那个声音重复了一遍,这次稍微大了一些,但那种紧张感没有消失,反而更明显了。

江跃松开了握紧柜子的手,直起身子。水花哗啦一声响,在狭小的地下室里被放大了好几倍。

对方明显被这个声音吓了一跳,手机屏幕的光晃了一下,差点脱手。

"我。"江跃说,声音不大,但在地下室里带着回音,"你又是谁?"

对方沉默了两秒。然后手机屏幕的光向上抬了抬,照出了一张脸——黑框眼镜,瘦高个,神情紧张但努力保持镇定。

"你……"对方看着江跃,又看了看被翻开的柜子和散落的工资单,"你在这里干什么?"

江跃没有回答他的问题。他盯着对方的脸,用他那种街头练出来的、几乎本能的方式,快速扫描了一遍对方的微表情——紧张,但不是恐惧;惊讶,但不是心虚;警惕,但带着一种好奇。

"你先回答我。"江跃说,"你谁?来这里干什么?"

对方推了推眼镜,这个动作让江跃注意到他的手指在微微发抖。

"我叫林朗。"对方说,"我来这里找一些资料。"

"找什么资料?"

"一份关于琅城纺织厂改制前的……"林朗停顿了一下,像是在评估要不要说真话,然后他深吸了一口气,说,"我在查一个叫'董晏清'的人。"

江跃站在积水里,被水泡得发凉的皮肤表面突然涌起一阵鸡皮疙瘩。

"董晏清。"他重复了一遍这个名字,这是他第二次听到这个名字——第一次是在六爷嘴里,六爷说"你查到最后,可能绕不开琅港的人"。

"你认识他?"林朗问。

"不认识。"江跃说,"但有人告诉我,这个名字跟我查的事有关。"

林朗的眼镜片上反射着手机屏幕的光,看不清他的眼神,但他的声音比刚才稳定了一些:"你查的事……是什么事?"

江跃沉默了几秒。积水在他脚下发出轻微的晃动声,化学气味没有那么浓了,不知道是适应了还是正在消散。他站在黑暗里,手里握着那叠工资单,脑子里全是那行刻字——"工资单在周家,出事找江建国"。

"我查一个人。"他最后说,声音很平,"一个姓江的人。"

林朗的呼吸停了一瞬。

"你找到什么了?"

江跃没有回答。他弯腰从水里捞起刚才掉落的工资单,折了两折,塞进裤兜里。然后他踩着积水,一步一步朝门口走去。水花在他的脚下发出哗啦哗啦的声响,在黑暗的地下室里回荡。

走到门口时,他在林朗面前停下来。两人之间的距离不到一米,他能清楚地看到林朗眼镜片后面的眼睛——瞳孔微微放大,带着一种警觉和期待交织的复杂表情。

"你刚才说,你在查董晏清。"江跃说,"你查到了什么?"

林朗盯着他看了一会儿,然后说:"董晏清是琅港资本的实际控制人。琅港资本通过一家叫LGK Analytics的公司,建立了一个标签系统,用来追踪琅城纺织厂职工后代的信息。有人在用这个标签找人——每七十二小时查一次,连续查了三个月。"

"找谁?"

"一个姓江的人。"

江跃的手指攥紧了裤兜里的工资单。纸张的棱角硌得他的指节发疼。

"你查这个多久了?"

"四个月。"林朗说,"在这之前,我是一个被裁的程序员。"

"为什么被裁?"

"因为我发现了一些不该发现的数据。"

江跃盯着林朗的眼睛,用他那种街头练出来的本能——不是测谎,是"判断"。他看不出林朗在说谎。任何一个人,在黑暗的地下室里,被一个陌生人堵在门口,还能编出这么一套严丝合缝的说辞,概率太低了。

"你怎么找到这里的?"江跃问。

"一份邮件。"林朗说,"一封加密的邮件,解码之后指向了这座工厂的历史档案。我查不到电子数据,只能来实地找。"

"你找到了什么?"

"你呢?"林朗反问,"你找到了什么?"

两个人对视着,谁都没有先开口。

地下室里只剩下积水滴落的声音,一滴一滴,从天花板上的管道滴落下来,砸在水面上,发出清脆的声响。

"我找到了一行字。"江跃终于开口,"刻在柜子里的。上面写着'工资单在周家,出事找江建国'。"

林朗的瞳孔猛地收缩了一下。

"江建国是谁?"他问。

"我也想知道。"江跃说,"我父亲叫江德福,不是江建国。但刻字的人既然把它刻在工资单旁边,说明这个人跟纺织厂有关系。"

林朗把手机屏幕的光转向地下室的柜子,照了照那行刻字。他看了很久,然后说:"你知道江建国可能在哪吗?"

"周家。"江跃说,"刻字上说'工资单在周家'。我不知道周家是谁,但这是个线索。"

"周正。"

江跃转头看向林朗:"谁?"

"周正。"林朗重复了一遍,"我在档案馆查到的名字——周正,原琅城纺织厂财务科科长。改制后调到了南城区财政局,后来提前退休了。"

"你怎么知道是他?"

"因为档案馆的档案目录上,他的名字和'工资单保管'几个字出现在同一页。"林朗说,"我记住了。"

江跃沉默了片刻。他不得不承认,眼前这个看起来瘦弱紧张的程序员,记忆力比他预想的好得多。

"你记得住档案目录?"

"我对数字和文字有过目不忘的记忆力。"林朗说,"这是职业病。"

江跃从鼻子里哼了一声,说不清是佩服还是感叹。他转身,朝楼梯间方向走去。

"你准备去哪?"林朗在身后问。

"去找周正。"江跃头也不回,"你走不走?"

林朗愣了一下,然后快步跟了上来。

两人一前一后爬过碎石堆,走出楼梯间,回到阳光刺眼的废墟里。江跃站在厂房的阴影里,眯着眼,看着街道尽头的车流。他掏出手机,想给六爷发条消息问周正的地址,但打开通讯录才发现——他根本不知道六爷有没有周正的消息。

"我有个问题。"林朗的声音从身后传来。

"说。"

"你叫什么名字?"

江跃转过身,阳光照在他的侧脸上,把左眉骨上的旧疤映得格外清晰。他看着林朗,嘴角歪了一下,说不清是笑还是别的什么表情。

"江跃。"

林朗的眉头微微皱了一下,眼神变得复杂——是那种发现了某种关联、但又不确定是否该说出来的表情。

"你姓江。"他说,声音很轻,像是在自言自语。

"嗯。"

"你知道那个每七十二小时查一次的查询……查的是谁吗?"

"你不是说——查的是姓江的人。"

"查的是具体的一个人。"林朗盯着他,"标签系统里有一个特殊标记字段,里面只存了一个名字,一个档案编号。"

"什么名字?"

"Z-1978-016。"

江跃愣住了。他盯着林朗,脑子里飞速运转——一九七八年,档案编号零一六。

"一九七八年。"他重复了一遍,声音有点干涩。

"你认识这个编号?"林朗问。

"不认识。"江跃说,但他的声音明显没有底气,"但我爸就是一九七八年进的纺织厂。"

两个人站在废墟里,阳光从塌陷的屋顶照下来,在他们之间投下一道光柱,光束里飘着细密的灰尘,像是一条缓慢流动的河。

"我们得谈谈。"林朗说。

"去哪谈?"

"你知道附近有比较安全的地方吗?"

江跃想了想,想到了老刘的烤串摊。老刘的摊子在南城深处,藏在小巷子里,不是熟人根本找不到。而且老刘那个人,从不打听客人的事,嘴巴严得像上了锁。

"跟着我。"他说,然后转身,朝街道方向走去。

林朗跟在他身后,两人一前一后,穿过废墟,穿过铁皮围墙的缺口,走进了南城午后毒辣的阳光里。

江跃走在前面,手指在裤兜里攥着那叠工资单,纸张的边缘已经湿了,贴着皮肤,摸起来像是一块从水底捞上来的证据。

他不知道自己刚才在那个地下室里遇到了什么——是人,还是命运的一个转折点。但他知道,他刚才在黑暗里说的那几句话,已经让他从"一个人查"变成了"两个人查"。

他不知道这是好事,还是坏事。

(本章完)