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

从F到0 - From F to 0

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

简易异或循环移位实现哈希摘要hash算法 字符串不可逆加密算法 可指定任意长度密文输出

[复制链接]
发表于 2019-1-4 10:55:22 | 显示全部楼层 |阅读模式

  1. .版本 2
  2. .支持库 YunReg

  3. .程序集 窗口程序集_启动窗口
  4. .程序集变量 二进制位数, 整数型

  5. .子程序 __启动窗口_创建完毕

  6. 二进制位数 = 256

  7. .子程序 异或减1位
  8. .参数 逻辑型数组, 逻辑型, 数组
  9. .局部变量 计数, 整数型
  10. .局部变量 数量, 整数型
  11. .局部变量 数组副本, 逻辑型, , "0"

  12. 数量 = 取数组成员数 (逻辑型数组)
  13. .计次循环首 (数量 - 1, 计数)
  14.     逻辑型数组 [计数] = 逻辑型数组 [计数] ≠ 逻辑型数组 [计数 + 1]
  15. .计次循环尾 ()
  16. 删除成员 (逻辑型数组, 取数组成员数 (逻辑型数组), 1)


  17. .子程序 取摘要, 文本型
  18. .参数 数据, 字节集
  19. .局部变量 逻辑数组, 逻辑型, , "0"
  20. .局部变量 数量, 整数型
  21. .局部变量 计数, 整数型
  22. .局部变量 计数2, 整数型
  23. .局部变量 奇偶, 逻辑型

  24. 字节集到逻辑型数组 (数据, 逻辑数组)
  25. .循环判断首 ()
  26.     异或减1位 (逻辑数组)
  27.     数量 = 取数组成员数 (逻辑数组)
  28.     .计次循环首 (位与 (数量, 二进制位数 - 1) + 1, 计数)
  29.         .如果 (逻辑数组 [计数])
  30.             数组循环右移 (逻辑数组)
  31.         .否则
  32.             数组循环左移 (逻辑数组)
  33.         .如果结束

  34.     .计次循环尾 ()
  35. .循环判断尾 (数量 > 二进制位数)
  36. 返回 (字节集到十六进制文本 (逻辑型数组到字节集 (逻辑数组)))



  37. .子程序 字节集到逻辑型数组
  38. .参数 字节集数据, 字节集
  39. .参数 逻辑型数组, 逻辑型, 参考 数组
  40. .局部变量 字节集长度, 整数型
  41. .局部变量 字节集计数, 整数型
  42. .局部变量 移位位数计数, 整数型
  43. .局部变量 移位后的值, 字节型
  44. .局部变量 逻辑数组计数, 整数型

  45. 字节集长度 = 取字节集长度 (字节集数据)
  46. 重定义数组 (逻辑型数组, 假, 字节集长度 × 8)
  47. .计次循环首 (字节集长度, 字节集计数)
  48.     .变量循环首 (7, 0, -1, 移位位数计数)
  49.         逻辑数组计数 = 逻辑数组计数 + 1
  50.         移位后的值 = 左移 (1, 移位位数计数)
  51.         逻辑型数组 [逻辑数组计数] = 位与 (字节集数据 [字节集计数], 移位后的值) = 移位后的值

  52.     .变量循环尾 ()

  53. .计次循环尾 ()


  54. .子程序 逻辑型数组到字节集, 字节集
  55. .参数 逻辑型数组, 逻辑型, 数组
  56. .局部变量 逻辑组长度, 整数型
  57. .局部变量 字节集数据, 字节集
  58. .局部变量 字节集长度, 整数型
  59. .局部变量 计数, 整数型
  60. .局部变量 移位计数, 整数型
  61. .局部变量 逻辑计数, 整数型

  62. 逻辑组长度 = 取数组成员数 (逻辑型数组)
  63. .如果真 (逻辑组长度 % 8 ≠ 0)
  64.     输出调试文本 (“数组成员数必须是8的倍数才可以导出字节集数据。”)
  65.     返回 ({  })
  66. .如果真结束
  67. 字节集数据 = 取空白字节集 (逻辑组长度 ÷ 8)
  68. 字节集长度 = 取字节集长度 (字节集数据)
  69. .计次循环首 (字节集长度, 计数)
  70.     .变量循环首 (7, 0, -1, 移位计数)
  71.         .如果真 (逻辑型数组 [逻辑计数 + 1] = 真)
  72.             字节集数据 [计数] = 位或 (左移 (1, 移位计数), 字节集数据 [计数])
  73.         .如果真结束
  74.         逻辑计数 = 逻辑计数 + 1
  75.     .变量循环尾 ()
  76. .计次循环尾 ()
  77. 返回 (字节集数据)

  78. .子程序 _编辑框1_内容被改变

  79. 输出调试文本 (取摘要 (到字节集 (取空白文本 (二进制位数 ÷ 4) + 编辑框1.内容)))


  80. .子程序 数组循环左移
  81. .参数 数组, 逻辑型, 数组
  82. .局部变量 值, 逻辑型

  83. 值 = 数组 [1]
  84. 删除成员 (数组, 1, 1)
  85. 加入成员 (数组, 值)

  86. .子程序 数组循环右移
  87. .参数 数组, 逻辑型, 数组
  88. .局部变量 值, 逻辑型
  89. .局部变量 数量, 整数型

  90. 数量 = 取数组成员数 (数组)
  91. 值 = 数组 [数量]
  92. 删除成员 (数组, 数量, 1)
  93. 插入成员 (数组, 1, 值)
复制代码

发表于 2019-1-4 11:31:49 | 显示全部楼层
看看啥玩意
发表于 2019-1-4 16:46:44 | 显示全部楼层
真的安全吗
发表于 2019-1-5 22:14:00 | 显示全部楼层
哈哈哈不错
发表于 2019-1-9 22:45:29 | 显示全部楼层
路过留下脚印≡└( 'o')┘≡┌( 'o')┐
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-19 16:55 , Processed in 0.484028 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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