为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

易语言置入汇编GetRolHash

三叶资源网 2021-03-26 22:56:52 易语言例程 872 ℃ 0 评论

DWORD GetRolHash(char lpszBuffer)

{

DWORD dwHash = 0;

while(lpszBuffer)

{

dwHash = (  (dwHash <<25 ) | (dwHash>>7) );

dwHash = dwHash+*lpszBuffer;

lpszBuffer++;

}

return dwHash;

}


     


       某项工作中使用到计算hash值,于是想使用易语言写一个工具,

但是易语言一直很诡异,计算不出正确值.导致原因可能由于易语言中没有DWORD类型,并且整数四则运算是当作双精度浮点数来计算,搞得很纠结.

无奈写了个置入汇编版的,经过测试,完美无bug

.版本 2
.支持库 spec

.程序集 程序集1

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

' 多次计算为了测试否是堆栈有问题
.计次循环首 (11, )
    调试输出 (GetRolHash (“”))
.计次循环尾 ()

返回 (0)  ' 可以根据您的需要返回任意数值

.子程序 GetRolHash, 文本型
.参数 string, 文本型
.局部变量 nHash, 整数型

nHash = GetRolHash0 (取变量数据地址 (string))
返回 (“0x” + 取十六进制文本 (nHash))

.子程序 GetRolHash0, 整数型
.参数 string, 整数型

置入代码 ({ 137, 236, 93, 139, 84, 36, 4, 51, 201, 235, 9, 193, 201, 7, 15, 190, 192, 3, 200, 66, 138, 2, 132, 192, 117, 241, 139, 193, 195 })
返回 (0)

@taizhong


文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
聚享游post图像处理蚁群算法保护壳例程枚举文件软件开发项目管理器翻译助手软件验证快递批量查询源码画CPU折线图王境泽RAR注释修改MP3文件摘要notepd++插件模板QQ采集webqq驱动开发教程LOL多线程操作例子
最新评论