网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月05日漏签0天
vb吧 关注:156,133贴子:1,166,123
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 4回复贴,共1页
<<返回vb吧
>0< 加载中...

勉强可用的VB SHA256模块(速度较CSDN论坛上有很大提升)

  • 只看楼主
  • 收藏

  • 回复
  • 余思培
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
当然比起其他语言的某些工具来说还是太慢了


  • 余思培
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在论坛版本的基础上做了如下优化
1.变量声明为具体的数据类型(原论坛代码全部为弱类型,怀疑为vbs代码)
2.将如下SHA256基本函数进行内联汇编优化
Public Function ADD(ByVal wParam As Long, ByVal uParam As Long) As Long
Public Function ADDU(ByVal A As Long, ByVal B As Long, ByVal C As Long, ByVal D As Long) As Long
Public Function SHL(ByVal dwNum As Long, ByVal dwShift As Long) As Long
Public Function SHR(ByVal dwNum As Long, ByVal dwShift As Long) As Long
Public Function ROR(ByVal dwNum As Long, ByVal dwShift As Long) As Long
Public Function GetDWord(ByVal lpSrc As Long) As Long '在获取数据同时进行大小端互换
Public Function Sigma0(ByVal x As Long) As Long 'Σ0(x) = ROR(x,2) Xor ROR(x,13) Xor ROR(x,22)
Public Function Sigma1(ByVal x As Long) As Long 'Σ1(x) = ROR(x,6) Xor ROR(x,11) Xor ROR(x,25)
Public Function Sigma2(ByVal x As Long) As Long 'σ0(x) = ROR(x,7) Xor ROR(x,18) Xor SHR(x,3)
Public Function Sigma3(ByVal x As Long) As Long 'σ1(x) = ROR(x,17) Xor ROR(x,19) Xor SHR(x,10)
3.优化文件打开方式为文件映射
4.优化代码逻辑:
原逻辑:文件先转为Long型数组(同时进行大小端互换),再进行摘要迭代
新逻辑:文件映射到内存地址,逐块(64 Byte)进行迭代,迭代时根据内存地址获取数据(同时进行大小端互换)
其他更改
为增加代码可读性,将摘要迭代、文件尾填充从主体代码中摘出,改写为函数过程


2025-06-05 18:21:30
广告
  • 余思培
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
链接:https://pan.baidu.com/s/1DEPmGVh9iqv_r4KfS_rPGw
提取码:hvj3
复制这段内容后打开百度网盘手机App,操作更方便哦


  • 余思培
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
本楼呈现未进行内联汇编优化的截图


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示