设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 16815|回复: 29
收起左侧

易语言实现的简易区块链系统 搜索有逆序数的16位MD5 24小时不间断运算70天结果分析

[复制链接]
发表于 2018-5-5 17:23:44 | 显示全部楼层 |阅读模式
本帖最后由 CNWTEPRG 于 2018-5-5 17:26 编辑

易语言实现的简易区块链系统 搜索有逆序数的16位MD5 24小时不间断运算70天结果分析
平均每秒搜索4~5万条,平均几秒到几分钟就能搜到一条有效的,此源码累计已经计算了3000多亿条MD5。
运算器源码:https://www.fedcba9876543210.com/thread-1108-1-1.html
安全退出方法:当前目录新建一个名为exit的无扩展名文件等待退出,退出后会自动删除。
其中 ini.ini 文件保存有计算进度,任何情况下严禁删除否则只能从头再来。

逆序数最小的正在接近0123456789ABCDEF,最大的越来越接近FEDCBA9876543210。

生成的文件按每8字节分割成数组,最小的逆序数是15(极限0),结果如下:

  1. * 字节集:8{8,98,161,226,19,0,0,128} | “1305428976cdabef”
复制代码

已经计算出的最大的逆序数的MD5是105(极限120),结果如下:

  1. * 字节集:8{234,94,120,64,27,0,0,128} | “fabedc9657432810”
  2. * 字节集:8{90,226,204,17,55,0,0,128} | “eaf9dbc678453021”
复制代码


图1.png
查看某个运算结果,源码如下(逆序数30的数据),下图所有算出的MD5,0~F只允许出现一次:

  1. .版本 2
  2. .支持库 spec
  3. .支持库 dp1

  4. .程序集 程序集1

  5. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  6. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  7. 返回 (0)  ' 可以根据您的需要返回任意数值

  8. .子程序 _临时子程序
  9. .局部变量 数据, 字节集, , "0"
  10. .局部变量 计数, 整数型

  11. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。

  12. 按长度分割字节集 (读入文件 (“data\30.bin”), 8, 数据)
  13. .计次循环首 (取数组成员数 (数据), 计数)
  14.     调试输出 (数据 [计数], 取文本中间 (取数据摘要 (数据 [计数]), 9, 16))
  15. .计次循环尾 ()



  16. .子程序 按长度分割字节集, , 公开
  17. .参数 字节集数据, 字节集
  18. .参数 分割长度, 整数型
  19. .参数 字节集数组, 字节集, 参考 数组
  20. .局部变量 分割数量, 整数型
  21. .局部变量 分割计数, 整数型
  22. .局部变量 长度计数, 整数型
  23. .局部变量 分割数据, 字节集
  24. .局部变量 总计数, 整数型

  25. 分割数量 = 取字节集长度 (字节集数据) ÷ 分割长度
  26. .如果真 (取字节集长度 (字节集数据) ÷ 分割长度 ≠ 到整数 (取字节集长度 (字节集数据) ÷ 分割长度))
  27.     分割数量 = 分割数量 + 1
  28. .如果真结束
  29. 重定义数组 (字节集数组, 假, 分割数量)

  30. .计次循环首 (分割数量, 分割计数)
  31.     分割数据 = {  }
  32.     .计次循环首 (分割长度, 长度计数)
  33.         总计数 = 总计数 + 1
  34.         .如果真 (总计数 > 取字节集长度 (字节集数据))
  35.             跳出循环 ()
  36.         .如果真结束
  37.         分割数据 = 分割数据 + 到字节集 (字节集数据 [总计数])
  38.     .计次循环尾 ()
  39.     字节集数组 [分割计数] = 分割数据
  40. .计次循环尾 ()
复制代码

输出结果:


  1. * 字节集:8{10,124,154,211,27,0,0,128} | “0615234fd9a7e8cb”
  2. * 字节集:8{201,204,1,2,28,0,0,128} | “03912a64b8fc5e7d”
  3. * 字节集:8{29,195,131,21,28,0,0,128} | “4203b56cd18a79fe”
  4. * 字节集:8{110,17,251,115,28,0,0,128} | “70824c1369bae5df”
  5. * 字节集:8{185,220,208,133,28,0,0,128} | “2d704581369caebf”
  6. * 字节集:8{205,26,61,150,28,0,0,128} | “01459e37a28bfc6d”
  7. * 字节集:8{227,177,152,61,29,0,0,128} | “621053d89ac4eb7f”
  8. * 字节集:8{82,74,192,112,29,0,0,128} | “24517a0b6f3c89de”
  9. * 字节集:8{87,60,113,230,29,0,0,128} | “12435c98b70af6de”
  10. * 字节集:8{96,39,150,109,30,0,0,128} | “01528c39aed647bf”
  11. * 字节集:8{235,137,255,132,30,0,0,128} | “1429065b78fda3ec”
  12. * 字节集:8{228,33,163,60,31,0,0,128} | “271034cb85f9a6ed”
  13. * 字节集:8{26,108,201,92,31,0,0,128} | “1b20843da6579cfe”
  14. * 字节集:8{74,95,168,144,31,0,0,128} | “12843e079b56dafc”
  15. * 字节集:8{213,172,235,185,31,0,0,128} | “e0461237859dbfca”
  16. * 字节集:8{4,154,103,233,31,0,0,128} | “523480697cead1fb”
  17. * 字节集:8{192,100,67,63,32,0,0,128} | “459210687a3fbedc”
  18. * 字节集:8{52,224,46,65,32,0,0,128} | “0315cf28647b9ead”
  19. * 字节集:8{206,224,81,100,32,0,0,128} | “3509268a4c1e7dbf”
  20. * 字节集:8{201,127,192,120,32,0,0,128} | “1b75342068e9acdf”
  21. * 字节集:8{18,106,169,135,32,0,0,128} | “83471062d59cbaef”
  22. * 字节集:8{85,7,143,182,32,0,0,128} | “0417b62c53d98fea”
  23. * 字节集:8{115,97,248,206,32,0,0,128} | “0395186f427cadbe”
  24. * 字节集:8{113,100,226,19,33,0,0,128} | “703591486badef2c”
  25. * 字节集:8{12,111,254,58,33,0,0,128} | “e406153278ad9cbf”
  26. * 字节集:8{36,124,155,126,33,0,0,128} | “b2083164c59ae7df”
  27. * 字节集:8{65,73,207,144,33,0,0,128} | “0154689ade32bf7c”
  28. * 字节集:8{131,145,73,184,33,0,0,128} | “8230476a5b9cfd1e”
  29. * 字节集:8{169,116,195,10,34,0,0,128} | “10d5832647aefb9c”
  30. * 字节集:8{158,22,193,75,34,0,0,128} | “70143c26ba95def8”
  31. * 字节集:8{67,124,30,155,34,0,0,128} | “320571d8b96e4caf”
  32. * 字节集:8{227,106,63,183,34,0,0,128} | “53046f79128aebcd”
  33. * 字节集:8{165,40,15,186,34,0,0,128} | “1032958afb4ec67d”
  34. * 字节集:8{171,75,135,235,34,0,0,128} | “123459bf07ce68ad”
  35. * 字节集:8{23,222,14,47,35,0,0,128} | “15062e3b48c9da7f”
  36. * 字节集:8{233,175,195,76,35,0,0,128} | “048735169dbae2fc”
  37. * 字节集:8{16,127,224,96,35,0,0,128} | “026759e418b3cadf”
  38. * 字节集:8{237,77,109,111,35,0,0,128} | “a2036915784cfebd”
  39. * 字节集:8{113,163,115,146,35,0,0,128} | “01275ab96f34d8ce”
  40. * 字节集:8{248,179,247,70,36,0,0,128} | “32054eb189a67cfd”
  41. * 字节集:8{201,140,28,71,36,0,0,128} | “057369214afbde8c”
  42. * 字节集:8{160,152,237,163,36,0,0,128} | “930412e8756bcafd”
  43. * 字节集:8{235,143,225,198,36,0,0,128} | “503174ad2f96b8ce”
  44. * 字节集:8{192,9,119,225,36,0,0,128} | “1637a580b294decf”
  45. * 字节集:8{105,38,163,21,37,0,0,128} | “02147b8e59acd36f”
  46. * 字节集:8{180,7,49,36,37,0,0,128} | “34680a5172bdecf9”
  47. * 字节集:8{244,232,54,41,37,0,0,128} | “5061843cb2a97efd”
  48. * 字节集:8{26,253,138,125,37,0,0,128} | “15309482f76dbcea”
  49. * 字节集:8{234,246,89,152,37,0,0,128} | “41507869c2bfa3ed”
  50. * 字节集:8{244,118,239,205,37,0,0,128} | “12d03c547b89a6ef”
  51. * 字节集:8{173,4,71,7,38,0,0,128} | “8235910b467deafc”
  52. * 字节集:8{106,20,118,60,38,0,0,128} | “52c340716f98abde”
  53. * 字节集:8{43,176,186,90,38,0,0,128} | “710398d524a6befc”
  54. * 字节集:8{79,192,53,184,38,0,0,128} | “124759c368df0abe”
  55. * 字节集:8{29,117,111,217,38,0,0,128} | “0362c4ba15789fed”
  56. * 字节集:8{249,224,39,33,39,0,0,128} | “0482179d36bfa5ce”
  57. * 字节集:8{61,136,203,64,39,0,0,128} | “09321ab7648d5cfe”
  58. * 字节集:8{248,51,132,67,39,0,0,128} | “60157389cba4df2e”
  59. * 字节集:8{201,170,193,135,39,0,0,128} | “534027db6819cafe”
  60. * 字节集:8{243,31,20,136,39,0,0,128} | “32479016cd85fbae”
  61. * 字节集:8{222,247,160,166,39,0,0,128} | “153642a07fbdc89e”
  62. * 字节集:8{149,222,181,179,39,0,0,128} | “905132ea6487bdfc”
  63. * 字节集:8{8,205,166,233,39,0,0,128} | “31270a4e5c6b9f8d”
  64. * 字节集:8{205,136,24,9,40,0,0,128} | “154639a72bd08ecf”
  65. * 字节集:8{63,120,152,89,40,0,0,128} | “1e3054289a7c6fbd”
  66. * 字节集:8{190,132,120,98,40,0,0,128} | “136740f5a829cdeb”
  67. * 字节集:8{142,255,117,112,40,0,0,128} | “015f47b62398aced”
  68. * 字节集:8{150,244,107,121,40,0,0,128} | “1302a6974f5e8dcb”
  69. * 字节集:8{36,185,150,192,40,0,0,128} | “475109b6823caedf”
  70. * 字节集:8{30,101,156,2,41,0,0,128} | “62094c53178bafed”
  71. * 字节集:8{160,37,251,95,41,0,0,128} | “280619ab347cdef5”
  72. * 字节集:8{168,80,228,113,41,0,0,128} | “4320cb61579ad8fe”
  73. * 字节集:8{150,75,1,114,41,0,0,128} | “06345b7a1c29df8e”
  74. * 字节集:8{113,154,39,131,41,0,0,128} | “36015e92748dbcfa”
  75. * 字节集:8{137,204,67,207,41,0,0,128} | “073419568fbadce2”
  76. * 字节集:8{139,135,110,212,41,0,0,128} | “74265108ac3be9df”
  77. * 字节集:8{158,255,109,253,41,0,0,128} | “5401b673d829ecaf”
  78. * 字节集:8{220,131,123,49,42,0,0,128} | “4102735edca68b9f”
  79. * 字节集:8{107,13,243,72,42,0,0,128} | “26319780a54cfdeb”
  80. * 字节集:8{62,85,56,131,42,0,0,128} | “30461a5b9c7e8d2f”
  81. * 字节集:8{26,15,11,132,42,0,0,128} | “5613408729edcfba”
  82. * 字节集:8{121,135,203,155,42,0,0,128} | “142068d395bfeac7”
  83. * 字节集:8{29,218,11,198,42,0,0,128} | “134982076d5faceb”
  84. * 字节集:8{108,121,206,230,42,0,0,128} | “258413a970c6debf”
  85. * 字节集:8{255,108,20,92,44,0,0,128} | “431082fa5796cebd”
  86. * 字节集:8{46,34,186,39,45,0,0,128} | “c31025867f49aebd”
  87. * 字节集:8{160,18,141,89,45,0,0,128} | “6172453ba90e8cdf”
  88. * 字节集:8{172,6,206,186,45,0,0,128} | “19524607afc38bde”
  89. * 字节集:8{97,134,82,0,46,0,0,128} | “0415e2a36c8f79db”
  90. * 字节集:8{56,122,255,53,46,0,0,128} | “630517428cfaedb9”
  91. * 字节集:8{23,69,157,132,46,0,0,128} | “2b10874936d5acef”
  92. * 字节集:8{147,58,103,175,46,0,0,128} | “14c2058369faeb7d”
  93. * 字节集:8{63,225,127,33,47,0,0,128} | “31085a269de4cb7f”
  94. * 字节集:8{250,2,125,165,47,0,0,128} | “0249a561f378ebdc”
  95. * 字节集:8{181,201,183,53,48,0,0,128} | “034872a16dce95bf”
  96. * 字节集:8{243,242,244,151,48,0,0,128} | “61a02537b4dcf98e”
  97. * 字节集:8{13,63,159,171,48,0,0,128} | “10d625b374ae89cf”
  98. * 字节集:8{53,31,68,196,48,0,0,128} | “410567a29cbfe83d”
  99. * 字节集:8{102,9,42,228,48,0,0,128} | “236940b17cad58fe”
  100. * 字节集:8{224,224,27,18,49,0,0,128} | “2950148ab7d63cef”
  101. * 字节集:8{219,228,117,233,49,0,0,128} | “031745d6c8b9fa2e”
  102. * 字节集:8{219,221,162,236,49,0,0,128} | “061378952dfba4ec”
  103. * 字节集:8{149,36,87,243,49,0,0,128} | “6314025cb7afe89d”
  104. * 字节集:8{189,208,69,88,50,0,0,128} | “394156270eab8fcd”
  105. * 字节集:8{43,156,71,174,50,0,0,128} | “0412a6d5bc389e7f”
  106. * 字节集:8{188,125,109,233,50,0,0,128} | “10a426db7358cef9”
  107. * 字节集:8{69,140,177,42,51,0,0,128} | “7930a214685bcfed”
  108. * 字节集:8{213,154,8,179,51,0,0,128} | “0135e69482da7fcb”
  109. * 字节集:8{225,121,182,211,51,0,0,128} | “3426587e019dbafc”
  110. * 字节集:8{89,142,147,229,51,0,0,128} | “064129d5387febca”
  111. * 字节集:8{47,24,201,252,51,0,0,128} | “914276058bc3afed”
  112. * 字节集:8{76,44,26,46,52,0,0,128} | “0165ca439b278def”
  113. * 字节集:8{235,110,1,55,52,0,0,128} | “025493b6e7c81afd”
  114. * 字节集:8{167,222,48,133,52,0,0,128} | “70163952ae8bdc4f”
  115. * 字节集:8{158,119,116,143,52,0,0,128} | “02481b7635efad9c”
  116. * 字节集:8{23,190,155,158,52,0,0,128} | “403a25967b8ecf1d”
  117. * 字节集:8{70,82,166,252,52,0,0,128} | “0c2134957bed6fa8”
  118. * 字节集:8{171,142,25,60,53,0,0,128} | “713289b5046afced”
  119. * 字节集:8{177,189,243,63,53,0,0,128} | “23814956b0fc7dea”
  120. * 字节集:8{29,127,13,74,53,0,0,128} | “5068219b43aed7fc”
  121. * 字节集:8{239,31,11,204,53,0,0,128} | “1402ca3b68795efd”
  122. * 字节集:8{93,202,249,246,53,0,0,128} | “12306b7d8c5a9e4f”
  123. * 字节集:8{255,44,75,255,53,0,0,128} | “304671982dcfba5e”
  124. * 字节集:8{215,164,60,95,54,0,0,128} | “10983c6427a5ebdf”
  125. * 字节集:8{65,49,18,191,54,0,0,128} | “016927d3a4c5bfe8”
  126. * 字节集:8{149,110,13,20,55,0,0,128} | “051346b8f72deac9”
  127. * 字节集:8{249,15,183,175,55,0,0,128} | “673520149bdace8f”
  128. * 字节集:8{237,26,186,226,55,0,0,128} | “023c15698da7fe4b”
  129. * 字节集:8{247,195,63,247,55,0,0,128} | “16203479efb8da5c”
  130. * 字节集:8{235,74,65,31,56,0,0,128} | “0247958c31d6bfea”
  131. * 字节集:8{167,12,208,51,56,0,0,128} | “2603184cfa59e7bd”
  132. * 字节集:8{226,178,115,85,56,0,0,128} | “31bc4057628a9dfe”
  133. * 字节集:8{193,228,108,78,57,0,0,128} | “012c48e3576bfad9”

复制代码

二次校验器源码,若有计算错误会调试输出出来,逆序数有误会暂停:
图2.png
存在3处错误,可能是由于意外断电或蓝屏死机、进程异常终止造成的:
图3.png




  1. .版本 2
  2. .支持库 dp1
  3. .支持库 spec

  4. .程序集 窗口程序集_启动窗口

  5. .子程序 __启动窗口_创建完毕
  6. .局部变量 数组, 字节集, , "8"
  7. .局部变量 计数, 整数型
  8. .局部变量 MD5, 文本型
  9. .局部变量 逆序数, 整数型
  10. .局部变量 逆序数计数, 整数型
  11. .局部变量 路径, 文本型

  12. .变量循环首 (0, 120, 1, 逆序数计数)
  13.     路径 = “data\” + 到文本 (逆序数计数) + “.bin”
  14.     .如果真 (文件是否存在 (路径))
  15.         按长度分割字节集 (读入文件 (路径), 8, 数组)
  16.         .计次循环首 (取数组成员数 (数组), 计数)
  17.             MD5 = 取文本中间 (取数据摘要 (数组 [计数]), 9, 16)
  18.             .如果 (是否有效 (MD5))
  19.                 逆序数 = 计算逆序数 (MD5)
  20.             .否则
  21.                 调试输出 (“错误”, 数组 [计数], MD5, 逆序数, 计数)
  22.             .如果结束
  23.             .如果真 (逆序数 ≠ 逆序数计数)
  24.                 暂停 ()
  25.             .如果真结束

  26.         .计次循环尾 ()

  27.     .如果真结束


  28. .变量循环尾 ()
  29. 调试输出 (“校验完成!”)
  30. 结束 ()


  31. .子程序 按长度分割字节集, , 公开
  32. .参数 字节集数据, 字节集
  33. .参数 分割长度, 整数型
  34. .参数 字节集数组, 字节集, 参考 数组
  35. .局部变量 分割数量, 整数型
  36. .局部变量 分割计数, 整数型
  37. .局部变量 长度计数, 整数型
  38. .局部变量 分割数据, 字节集
  39. .局部变量 总计数, 整数型

  40. 分割数量 = 取字节集长度 (字节集数据) ÷ 分割长度
  41. .如果真 (取字节集长度 (字节集数据) ÷ 分割长度 ≠ 到整数 (取字节集长度 (字节集数据) ÷ 分割长度))
  42.     分割数量 = 分割数量 + 1
  43. .如果真结束
  44. 重定义数组 (字节集数组, 假, 分割数量)

  45. .计次循环首 (分割数量, 分割计数)
  46.     分割数据 = {  }
  47.     .计次循环首 (分割长度, 长度计数)
  48.         总计数 = 总计数 + 1
  49.         .如果真 (总计数 > 取字节集长度 (字节集数据))
  50.             跳出循环 ()
  51.         .如果真结束
  52.         分割数据 = 分割数据 + 到字节集 (字节集数据 [总计数])
  53.     .计次循环尾 ()
  54.     字节集数组 [分割计数] = 分割数据
  55. .计次循环尾 ()

  56. .子程序 是否有效, 逻辑型
  57. .参数 文本, 文本型
  58. .局部变量 字节集, 字节集
  59. .局部变量 计数, 整数型
  60. .局部变量 字节数组, 字节型, , "16"

  61. 字节集 = 到字节集 (文本)
  62. .计次循环首 (16, 计数)
  63.     字节数组 [计数] = 字节集 [计数]
  64. .计次循环尾 ()
  65. 数组排序 (字节数组, 真)
  66. .计次循环首 (16, 计数)
  67.     字节集 [计数] = 字节数组 [计数]
  68. .计次循环尾 ()
  69. 返回 (到文本 (字节集) = “0123456789abcdef”)


  70. .子程序 计算逆序数, 整数型
  71. .参数 MD5文本, 文本型
  72. .局部变量 计数, 整数型
  73. .局部变量 当前文本, 文本型
  74. .局部变量 数组, 整数型, , "0"

  75. .计次循环首 (16, 计数)
  76.     当前文本 = 到大写 (取文本中间 (MD5文本, 计数, 1))
  77.     .判断开始 (当前文本 = “A”)
  78.         加入成员 (数组, 10)
  79.     .判断 (当前文本 = “B”)
  80.         加入成员 (数组, 11)
  81.     .判断 (当前文本 = “C”)
  82.         加入成员 (数组, 12)
  83.     .判断 (当前文本 = “D”)
  84.         加入成员 (数组, 13)
  85.     .判断 (当前文本 = “E”)
  86.         加入成员 (数组, 14)
  87.     .判断 (当前文本 = “F”)
  88.         加入成员 (数组, 15)
  89.     .判断 (到整数 (当前文本) ≥ 0 且 到整数 (当前文本) ≤ 9)
  90.         加入成员 (数组, 到整数 (当前文本))
  91.     .默认

  92.     .判断结束

  93. .计次循环尾 ()

  94. 返回 (求逆序数 (数组))

  95. .子程序 求逆序数, 整数型
  96. .参数 数据, 整数型, 数组
  97. .局部变量 计数, 整数型
  98. .局部变量 计数2, 整数型
  99. .局部变量 返回值, 整数型
  100. .局部变量 当前数, 整数型

  101. .计次循环首 (16, 计数)
  102.     当前数 = 数据 [计数]
  103.     .变量循环首 (计数 + 1, 16, 1, 计数2)
  104.         .如果真 (数据 [计数2] < 当前数)
  105.             返回值 = 返回值 + 1
  106.         .如果真结束

  107.     .变量循环尾 ()
  108. .计次循环尾 ()
  109. 返回 (返回值)


复制代码



附送一套运算结果附件(24小时不间断运行70多天产生的):
data.zip (1.29 MB, 下载次数: 27)
ini.ini 文件内容(计算进度):

  1. [i]
  2. i=-9223371786079090566
复制代码


评分

1

查看全部评分

相关帖子

发表于 2018-5-5 21:03:00 | 显示全部楼层
222 发表于 2018-5-5 18:37
挖这玩意与挖比特币有何区别???

原理上都差不多。
发表于 2019-9-29 18:10:11 | 显示全部楼层

什么意思
发表于 2018-5-8 12:49:39 | 显示全部楼层

回帖奖励 +16

区块链还真能和逆序数扯上关系
发表于 2018-5-5 18:37:38 | 显示全部楼层

回帖奖励 +16

挖这玩意与挖比特币有何区别???
发表于 2018-5-6 08:58:15 | 显示全部楼层
人才,就那包附件产生用了70多天???
发表于 2018-5-6 09:43:59 | 显示全部楼层

回帖奖励 +16

不明真相吃土群众
发表于 2019-1-27 17:20:20 | 显示全部楼层

回帖奖励 +16

不明真相吃土群众
发表于 2019-2-4 00:14:33 | 显示全部楼层
不明真相23333333
发表于 2019-2-4 00:14:59 | 显示全部楼层
不信酒中不聊
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-25 23:05 , Processed in 1.172067 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表