《重生学神有系统》第52章 “感知机”的初次实战

    业余黑客有个潜规则。

    政府机关、金融系统、电子商务……这类网站的后台,是机密重地,通常有高手坐镇,没事最好别去溜达。

    被网监或者安全专家盯上,十有落不了好。

    而个人网站、小型办公网络、学校网站……

    这种信息安全不太敏感的,仅仅是浏览或下载一些数据,一般不会有什么大问题。

    比如从铁道部官网12306爬点数据,做个辅助订票系统什么的……

    但无论任何地方,肆意破坏总是不被允许的,这是底线。

    《原始数据表》的奇怪情况,身份证位数不对,侧面支持了这种可能性。

    通过黑客手段获取数据,有时候会遇到一些匪夷所思的问题,比如数据格式特殊,下载的数据宽度受限……

    有时候,甚至在后台数据库里,只能找到数据的一部分,而其余部分被保存在无法访问的文件里。

    写后台程序的人,会基于各种各样的理由,写出可读性极差的代码。

    比如:读写效率、数据安全、修补bug、系统健壮……

    又或者不想被人继承代码,取代自己的位置,甚至单纯为了个人兴趣、编程风格……

    都可能导致这些人,搞出种种令人费解的骚操作。

    当然,也可能老高的技术还有缺陷,或者他是从虚拟内存、交换文件里挖掘出来的数据。

    也有可能在“作案”过程中被人盯上,不得不提前断开连接……

    总之,摆在江寒面前的,就是这么两张各有缺陷的表格,外加一个图片压缩包。

    接下来,江寒首先要做的,是从《原始数据表》里,筛选出需要的记录,复制到《报名信息表》里。

    这一步非常简单,只要用excel自带的vbscript编写一个小脚本,将两个表格按照姓名匹配,就可以得到每个考生在原始表里的行号。

    当然,同名同姓是避免不了的,可能报名信息里一个“张三”,在原始数据里会找到一堆“张三”……这个一会儿再说。

    脚本编程非常简单,江寒只用了二十分钟,就写完程序并调试无误。

    按了一下预设的快捷键,脚本开始执行。

    一边是3万多行的考生姓名,一边是10万多行的原始数据,脚本足足跑了八分钟,才得到了一个映射关系表。

    接下来,是第二个脚本,参照映射关系表,将原始数据文件筛选出需要保留的行,其他行全都删除,然后按照《报名信息表》的序号,重新进行排序,得到临时文件1。

    这个临时文件的行数,要比报名表多出几千行,这是因为江寒对重名进行了处理,将重名的人都编上了相同的二级序号。

    接下来处理重名。

    经过一番分析,江寒发现,原始数据表和报名信息表里的数据,排列顺序是有规律的。

    其以地区为主关键字,所在学校为次要关键字,而所在班级则是第三关键字排序。

    也就是说,一个学校里,一个班级的人,都挨在一起,学校、地区之间也没有混乱。

    这样就好办了。

    由于临时文件已经按序号排列,重名的人拥有同样的二级序号,自然就聚拢在了一起。

    这时,只要看一下这些人的所在地区和学校,就能轻松分辨出哪些是多余的,那个才是真正对应于《报名信息表》的。

    如果一个班级也有同名,就只能具体情况具体分析了,实在确定不了的,就先记下来,放在一边,以后再说。

    一番整理后,临时文件1已经十分接近高老师希望得到的《报名信息表》。

    联系电话、家庭住址,毕业学校、班级、民族、年龄、出生年月日都有了。

    接下来是重头戏,通过照片判断每个学生的性别。

    幸运的是,虽然《原始数据表》里的身份证号,残缺不全,导致性别信息不可用,可是《报名信息表》里还有部分残余的性别数据。

    这就给江寒减少了许多负担。

    接下来,先将照片.rar解压,然后观察了一下。

    三万多张照片,按学校、班级分类,放入几千个文件夹中。

    每个文件的大小,都在10kb至30kb之间。

    像素只有210120,不算特别清晰,但看清面部特征,还是没什么问题的。

    其中,同班级里重名的情况,都在姓名后标记着数字1、2……

    江寒猜想,这可能是输入报名表的顺序。

    接下来要做的,就是在临时文件1里,找到每张照片对应的人。

    这很简单,照片的文件名就是姓名,轻松就能和表格里的名字对上。
猜你喜欢
返回首页返回目录