索引数据结构为:
# 为了简化存储,这里file1、file2、file3、file4 为该文件第一条数据的md5值,也是对应的文件名# 页的大小固定,所以二级索引只需要按顺序记录每页的第一个md5值即可indexes = {"file1": ["md51", "md52", "md53", "..."], "file2": ["md51", "md52", "md53", "..."],"file3": ["md51", "md52", "md53", "..."],"file4": ["md51", "md52", "md53", "..."], } 第一层索引为文件索引,首先通过md5值判断md5值所在文件,比如输入的 start1 > md5 > start1,可以判断结果可能在file1 中;
第二层为文件内索引,通过md5值判断所在的页,读取根据offset读取该页的全部数据,再通过二分查找找到对应的身份证号 。
代码实现源码地址:https://github.com/gusibi/oneplus/tree/master/idgenerator
使用方式:
1. go run main.go2. curl http://127.0.0.1:8080/search?md5={id md5}参考链接:
- 源码地址 https://github.com/gusibi/oneplus/tree/master/idgenerator
【如何通过MD5反查身份证号?】
推荐阅读
- 茶叶如何保存才能够有效延长保质期
- 如何做一个windows原版系统U盘启动盘?
- 如何在Windows 10上获取文件或文件夹的所有权
- Win10局域网两台电脑如何共享文件?
- |职场上,领导为了提拔你,背后是如何运作的?别再犯傻,要懂配合
- 如何保存碧螺春 要注意什么
- 蓝花鼠尾草如何养殖
- 为什么降权不能接单 淘宝刷了10单被降权了,如何补救
- 女性月经期间浑身酸软无力该如何调理?
- 返潮天如何更好的存茶泡茶