view plaincopy to clipboardprint?
01.function BKDRHash(buf: Pointer; count: Integer) : Cardinal; assembler;
02.asm
03. PUSH EBX;
04. XOR EBX, EBX
05. MOV ECX, EAX
06. XOR EAX, EAX
07.@LOOP:
08. TEST EDX, EDX
09. JZ @EXIT
10. MOV BL, [ECX]
11. IMUL EAX, 131
12. ADD EAX, EBX
13. INC ECX
14. DEC EDX
15. JMP @LOOP
16.@EXIT:
17. POP EBX
18.//----------------------------
19.// Pascal:
20.//
21.// Result := 0;
22.// while count > 0 do
23.// begin
24.// Result := (Result * 131) + PByte(buf)^;
25.// Inc(PByte(buf));
26.// Dec(count);
27.// end;
28.end;
29.function DJBHash(buf: Pointer; count: Integer) : Cardinal; assembler;
30.asm
31. PUSH EDI
32. PUSH EBX
33. XOR EBX, EBX
34. MOV ECX, EAX
35. MOV EAX, 5381
36.@LOOP:
37. TEST EDX, EDX
38. JZ @EXIT
39. MOV EDI, EAX
40. SHL EDI, 5
41. ADD EAX, EDI
42. MOV BL, [ECX]
43. ADD EAX, EBX
44. INC ECX
45. DEC EDX
46. JMP @LOOP
47.@EXIT:
48. POP EBX
49. POP EDI
50.//----------------------------
51.// Pascal:
52.//
53.// Result := 5381;
54.// while count > 0 do
55.// begin
56.// Result := ((Result shl 5) + Result) + PByte(buf)^;
57.// Inc(PByte(buf));
58.// Dec(count);
59.// end;
60.end;
function BKDRHash(buf: Pointer; count: Integer) : Cardinal; assembler;
asm
PUSH EBX;
XOR EBX, EBX
MOV ECX, EAX
XOR EAX, EAX
@LOOP:
TEST EDX, EDX
JZ @EXIT
MOV BL, [ECX]
IMUL EAX, 131
ADD EAX, EBX
INC ECX
DEC EDX
JMP @LOOP
@EXIT:
POP EBX
//----------------------------
// Pascal:
//
// Result := 0;
// while count > 0 do
// begin
// Result := (Result * 131) + PByte(buf)^;
// Inc(PByte(buf));
// Dec(count);
// end;
end;
function DJBHash(buf: Pointer; count: Integer) : Cardinal; assembler;
asm
PUSH EDI
PUSH EBX
XOR EBX, EBX
MOV ECX, EAX
MOV EAX, 5381
@LOOP:
TEST EDX, EDX
JZ @EXIT
MOV EDI, EAX
SHL EDI, 5
ADD EAX, EDI
MOV BL, [ECX]
ADD EAX, EBX
INC ECX
DEC EDX
JMP @LOOP
@EXIT:
POP EBX
POP EDI
//----------------------------
// Pascal:
//
// Result := 5381;
// while count > 0 do
// begin
// Result := ((Result shl 5) + Result) + PByte(buf)^;
// Inc(PByte(buf));
// Dec(count);
// end;
end;
Delphi:高效的哈希函数
- delphi(38021)
- 哈希函数(9382)
相关推荐
使用Delphi 7.0开发软件和Moxa库函数实现同步卡调试器的设计
根据这一需求,作者使用Delphi 7.0开发这款软件。首先定制界面,该部分较简单,略之。关键部分如下:设备初始化及I/O,十六进制显示,十六进制输入。为了做到通用性,作者重新改写了Moxa的库函数,精简为如下几条函数:
2020-07-28 08:56:563526
Delphi 串口通信技术分享
一、总目录如下所示: 资料1.Delphi安装源文件(总共2个文件,大小:502MB) 资料2.Delphi串口通信源码(总共242个源码,大小:151MB) 资料3.Delphi串口通信
2021-07-01 07:54:28
Delphi串口通信技术
如有需要可以联系本人,Delphi串口通信技术资料:一、总目录如下所示资料1.Delphi安装源文件(总共2个文件,大小:502MB)资料2.Delphi串口通信源码(总共242个源码,大小
2021-07-01 12:16:47
有人知道低成本的8位芯片组做BigShink哈希函数吗
大家好,我想知道有没有人知道一个低成本的8位芯片组,可能是PIC18F家族或PIC10F等的任何一个,可以用来做BigShink哈希函数吗?非常感谢您的帮助。 以上来自于百度翻译 以下为原文
2018-12-29 16:30:34
delphi语音控件
delphi语音控件,完美acm语音delphi开发控件: znACM ver5.1完美的封装了微软的 acm 语音相关的函数,使用简单(10分钟学会使用),可控制性强,容易扩展。从使用角度出发,切合程序制
2008-10-06 17:33:45102
用Delphi做数据库开发
用Delphi做数据库开发:实验三 用Delphi做数据库开发一、实验目的通过使用Delphi中BDE连接SQL数据库,掌握Delphi环境中数据库操作的最基本的方法和Delphi下数据库应用程序的开发方
2009-05-10 11:05:4443
Delphi教程之检测NumLock、Insert、CapsLo
Delphi教程之检测NumLock、Insert、CapsLock、ScrollLock键的状态,很好的Delphi资料,快来下载学习吧
2016-04-11 16:09:418
基于分段哈希码的倒排索引树结构
处理,对每段哈希码维护一个倒排索引树结构,并结合高效的布隆过滤器构建哈希索引结构。为了进一步提高检索准确性,设计了一种准确的排序融合算法,对多个哈希算法的排序结果分别构建加权无向图,采用PageRank的思想对基于多
2017-11-28 17:40:150
基于低密度生成矩阵和哈希函数的安全签密方案
基于编码的密码系统具备抵抗量子计算的天然优势。针对传统的基于Goppa码构造的密码方案存在密文扩展率大和密钥量大的问题,利用低密度生成矩阵( LDGM)码和哈希函数构造了一个可证明安全的签密方案
2017-12-12 11:06:470
Delphi资源生成器Delphi Resource Generate免费下载
Delphi Resource Generate用来生成我们经常使用的资源文件。省去了去使用命令brcc32.exe的麻烦!提高效率很重要!
2017-12-12 14:54:281
Delphi 7编程软件官方版免费下载
Delphi7包含了Delphi基本组件和ADO组件,实现了Delphi的基本功能,Delphi 7只备临时之需,开发小程序还是没有问题的。
2017-12-12 16:12:370
解析加密货币中最常用的四种加密哈希函数的特性和差异
比特币采矿涉及矿工解决复杂的计算难题,以找到一个块,然后将其附加到比特币区块链。就是我们经常称的工作量证明(proof-of-work),它涉及SHA-256哈希函数的计算。
2018-05-11 16:30:597908
哈希表是什么?哈希表数据结构详细资料分析
哈希表也称为散列表,是根据关键字值(key value)而直接进行访问的数据结构。也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度。这个映射函数称为哈希函数(也称为散列函数),映射过程称为哈希化,存放记录的数组叫做散列表。比如我们可以用下面的方法将关键字映射成数组的下标:
2018-09-24 10:25:009655
哈希算法的基本含义与分类
根据维基百科的定义,哈希函数要做的事情是给一个任意大小的数据生成出一个固定长度的数据,作为它的映射。所谓映射就是一一对应。一个可靠的哈希算法要满足三点。
2018-12-26 11:20:563641
理解数字签名和加密通信等技术的关键算法哈希算法的介绍
哈希是密码学的基础,理解哈希是理解数字签名和加密通信等技术的必要前提。
哈希,英文是 hash ,本来意思是”切碎并搅拌“,有一种食物就叫 Hash ,就是把食材切碎并搅拌一下做成的。哈希函数的运算结果就是哈希值,通常简称为哈希。哈希函数有时候也翻译做散列函数。
2019-01-13 09:20:073218
以太坊哈希数字Keccak介绍
这里可能会出现各种各样的误解。在国家标准化技术公司(NIST)宣布将进行哈希值工作竞赛,以制定新的哈希值标准SHA-3之前,以太网络似乎已经启动了这一方法。后来,Keccak被选为真正的赢家。目前
2019-01-18 11:06:283594
什么是哈希算法它的作用是什么
,就是这个哈希函数,是将任意长度的数据,映射在有限长度的域上。总体而言,哈希函数用于,将消息或数据压缩,生成数据摘要,最终使数据量变小,并拥有固定格式。
2019-03-08 11:21:0118360
哈希函数的特点及应用介绍
换句话说,哈希函数的回传结果(称之为hash value),是一个长度一致,但是数据内容却是独一无二(unique)的数值。所以,如果看到两个完全不一样的”hash value”,我们就可以推断
2019-03-19 15:25:3214730
比特币中的哈希函数是如何工作的
哈希函数是一个只能在一个方向上计算的函数,这保证了区块链世界的清晰性和安全性。这也意味着,如果我们输入一个函数,我们就可以计算输出,但是只给输出却不可能逆向计算出输入。(在这个意义上,这一特性就像
2019-10-08 11:46:522895
哈希函数的特性以及比特币挖矿的技术原理解析
哈希函数不用知道输入信息代表的是什么意思,也无所谓信息的长度有多长,只要输入hash函数出来的都是固定长度的比特值。比如非常有名的SHA256 哈希函数,输入任何值出来的都是256比特的0和1. 输入一本《三国演义》或者仅仅输入一个字母a,出来的都是256位比特长度的数据。
2019-10-12 10:49:253481
区块链技术中的哈希函数解析
哈希函数是一种从任何一种数据中创建小的数字指纹的方法。哈希函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。
2019-11-27 11:06:371551
什么是哈希值该如何在区块链中应用
哈希值是将任意长度的输入字符串转换为密码并进行固定输出的过程。哈希值不是一个“密码”,我们不能通过解密哈希来检索原始数据,它是一个单向的加密函数。
2020-02-11 17:25:004329
哈希函数的概念及结构解析
简言之,就是设定某一固定函数(hashFunc),通过此函数来使插入元素的值与元素位置相对应,往后我们需要查找此元素时就可以通过此函数(hashFunc)找到该值。
2020-03-11 10:00:079540
哈希表是什么?为什么需要使用哈希表
我们在这篇文章将要学习最有用的数据结构之一—哈希表,哈希表的英文叫 Hash Table,也可以称为散列表或者 Hash 表。
2020-04-06 13:50:0010956
区块链科普:哈希函数算法
哈希值和哈希函数的概念是初次入门区块链的人常听到的两个关键词,而且似乎对安全性来说特别关键。(实际上也确实是。)对于像比特币和以太坊这样由成千上万的节点通过 P2P 方法组成的去中心化网络来说
2020-06-28 09:25:524260
哈希算法到底是什么?它又是如何运行的?
哈希就是将不同的输入映射成独一无二的、固定长度的值(又称 "哈希值"),是最常见的软件运算之一。很多网络服务会使用哈希函数,产生一个 token,标识用户的身份和权限。
2020-06-28 11:02:102981
HMACMD5键控哈希算法的程序和工程文件免费下载
HMACMD5 是从 MD5 哈希函数构造的一种键控哈希算法,被用作基于哈希的消息验证代码 (HMAC)。此 HMAC 进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将所得哈希值与该密钥混合,然后再次应用哈希函数。输出的哈希值长度为 128 位。
2020-07-06 08:00:001
计算机系统中哈希表的优化
导读:本文从哈希表传统设计与解决思路入手,深入浅出地引出新的设计思路:从尽量规避哈希冲突,转向了利⽤合适的哈希冲突概率来优化计算和存储效率。新的哈希表设计表明 SIMD 指令的并⾏化处理能⼒的有效
2021-03-02 14:10:501841
改进的格上可编程哈希函数环签名模型
针对传统格上环签名方案的签名和密钥长度过长的问题,建立一种改进的格上可编程哈希函数环签名模型。利用MPⅠ2陷门函数生成签名密钥,通过可编程哈希函数模拟随机预言机的部分可编程性质,运用格上的分区证明
2021-03-18 11:20:344
基于异构哈希网络的跨模态人脸检索方法探究分析
函数三个部分,首先图像和视频分支分别将人脸图像和人脸视频映射到一个公共空间,然后在公共空间学习非线性哈希函数。网络的训练使用了三种损失函数: Fisher损失、 softmax损失和三元排序损失( triplet rankiloss),其中的 Fisher损
2021-03-31 09:29:0018
一种基于异构哈希网络的跨模态人脸检索方法
函数三个部分,首先图像和视频分支分别将人脸图像和人脸视频映射到一个公共空间,然后在公共空间中学习非线性哈希函数。网络的训练使用了三种损失函数: Fisher损失、 softmax损失和三元排序损失( triplet rankingoss),其中的 Fi
2021-04-28 16:24:405
基于可编程哈希函数的HIBE加密方案
在标准模型下,格上基于分级身份的加密(HBE)方案的陷门生成计算复杂度较高。针对该问题,提出种基于可编程哈希函数的HBE加密方案。利用MPI2陷门函数生成陷门,由可编程哈希函数得到主公钥、主私钥以及
2021-06-03 15:57:5011
区块哈希游戏开发逻辑(上链)哈希竞猜游戏开发
什么是哈希/ Hash 哈希又称作“散列”,是一种数学计算机程序,它接收任何一组任意长度的输入信息,通过哈希算法变换成固定长度的数据指纹输出形式,如字母和数字的组合,该输出就是“哈希值”。 总体而言
2022-06-02 11:39:05993
哈希算法是什么,哈希游戏系统开发方案
什么是哈希/Hash 哈希又称作“散列”,是一种数学计算机程序,它接收任何一组任意长度的输入信息,通过哈希算法变换成固定长度的数据指纹输出形式,如字母和数字的组合,该输出就是“哈希值”。 总体而言
2022-06-14 09:14:51792
哈希是什么,常见的哈希算法有哪些
什么是哈希? 哈希又称作“散列”,是一种数学计算机程序,它接收任何一组任意长度的输入信息,通过哈希算法变换成固定长度的数据指纹输出形式,如字母和数字的组合,该输出就是“哈希值”。总体而言,哈希算法
2022-06-23 14:57:066251
区块哈希竞猜游戏系统开发加密哈希算法概述
景的不同,可将哈希算法分为加密哈希与非加密哈希。 概述 加密哈希被认为是单向函数,也就是说极难由散列函数输出的结果,回推输入的数据是什么。加密哈希函数的输入数据,通常被称为消息(message),而它的输出结果通常被称为摘要(digest)。一个理想的
2022-06-24 09:51:38820
哈希算法函数的定义描述及其特征介绍
哈希的本质是一个采用哈希算法的数学函数,它被广泛应用于区块链中构建区块以及确认交易信息的完整性上。 什么是哈希算法?哈希算法是密码学中的一个重要算法,哈希的英文为Hash。 哈希算法有一个输入
2022-06-28 21:02:025676
usdt区块遨游的函数单双和函数
简单来说,哈希算法就是一种特殊的函数,不论输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值,这就好像身份证号码一样,永远都是十八位而且全国唯一。哈希算法的输出值就叫做哈希值。 比如
2022-08-10 15:46:281358
Delphi数据访问组件方案
适用于任何数据库的更快、更可靠的数据连接解决方案 Delphi 数据访问组件 Delphi数据访问组件允许在Windows,Linux,macOS,iOS和Android
2023-06-26 10:02:43419
Linux内核分析 端口哈希桶
端口哈希桶 在inet_csk_get_port函数中的变量声名中有如下几个结构体: struct inet_hashinfo * hinfo = sk- >sk_prot- >h.hashinfo
2023-07-31 11:03:23388
评论
查看更多