一文了解MySQL索引机制接触MySQL数据库的小伙伴一定避不开索引,索引的出现是为了提高数据查询的效率,就像书的目录一样。 某一个SQL查询比较慢,你第一时间想到的就是“给某个字段加个索引吧”,那么索引是什么?是如何工作的呢? 一起静下心来,耐心看完这篇文章吧,干货不啰嗦,相信你一定会有所收获。 一、索引模型 模型也就是数据结构,常见的三种模型分别是哈希表、有序数组和搜索树。 了解MySQL的朋友已经知道,现在MySQL 数据运维 2024-07-25 贤蛋大眼萌
Python 3: 加密简介Python 3 的标准库中没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto 和 cryptography 上。我们将学习如何使用这两个库,来加密和解密字符串。 哈希 如果需要用到安全哈希算法或是消息摘要算法,那么你可以使用标准库中的 hashlib 模块。这个模块包含了符合 FIPS(美国联邦信息处理标准)的安全 linux中国 2024-07-19 大猫
听说过时间表,但是你是否知道“哈希表”探索 哈希表 hash table 的世界并理解其底层的机制是非常有趣的,并且将会受益匪浅。所以,让我们了解它,并从头开始探索吧。 哈希表是许多现代软件应用程序中一种常见的数据结构。它提供了类似字典的功能,使你能够在其中执行插入、删除和删除等操作。这么说吧,比如我想找出“苹果”的定义是什么,并且我知道该定义被存储在了我定义的哈希表中。我将查询我的哈希表来得到定义。它在哈希表内的记录看起来可能像:" linux中国 2024-07-19 醒在深海的猫
PostgreSQL 的哈希索引现在很酷由于我刚刚提交了最后一个改进 PostgreSQL 11 哈希索引的补丁,并且大部分哈希索引的改进都致力于预计下周发布的 PostgreSQL 10(LCTT 译注:已发布),因此现在似乎是对过去 18 个月左右所做的工作进行简要回顾的好时机。在版本 10 之前,哈希索引在并发性能方面表现不佳,缺少预写日志记录,因此在宕机或复制时都是不安全的,并且还有其他二等公民。在 PostgreSQL 10 linux中国 2024-07-19 剑圣无痕
关于哈希(散列)函数你应该知道的东西从输出的哈希值反推回输入,这从计算的角度是不可行的。 无论安全从业人员用计算机做什么,有一种工具对他们每个人都很有用:加密 哈希(散列) hash 函数。这听起来很神秘、很专业,甚至可能有点乏味,但是, 在这里,关于什么是哈希函数以及它们为什么对你很重要,我会作出一个简洁的解释。 加密哈希函数,比如 SHA-256 或者 MD5,接受一组二进制数据(通常是字节)作为输入,并且对每个可能的输入集给出 linux中国 2024-07-17 穿过生命散发芬芳
如何使用 OpenSSL:哈希值、数字签名等通过 OpenSSL 深入了解密码学的细节:哈希值、数字签名、数字证书等。 本系列的第一篇文章通过 OpenSSL 库和命令行实用程序介绍了哈希、加密/解密、数字签名和数字证书。这第二篇文章将对细节进行深入探讨。让我们从计算中无处不在的哈希开始,并考虑是什么使哈希函数具备密码学意义。 密码学哈希 OpenSSL 源代码的下载页面包含了一个带有最新版本的表格。每个版本都有两个 哈希值 hash :1 linux中国 2024-07-17 竹子爱熊猫
硬核观察 #369 ImageNet 库被发现哈希碰撞的真实图像ImageNet 库包含了一对 NeuralHash 哈希碰撞的真实图像 NeuralHash 是苹果 CSAM 扫描系统使用的感知哈希算法,它通过输入图像返回 96 位的哈希值,如果两个图像有相同的哈希那么这两个图像应该是相同的。然而实际上并非如此,NeuralHash 产生的哈希相同并不意味着图像相同,这就是哈希碰撞。研究人员已经演示了对 NeuralHash 的原像攻击,创造出两个哈希一样但 linux中国 2024-07-17 穿过生命散发芬芳
硬核观察 #460 哈希表理论突破提升数据存储效率哈希表理论突破提升数据存储效率 哈希表是最常用的组织和存储数据的方法之一。线性探测哈希表于 1954 年引入,是当今可用的最古老、最简单和最快的数据结构之一。在线性探测哈希表中,可存储信息的位置位于一个线性数组中。几乎每个使用线性探测哈希表的人都认为,如果你让它们变得太满,那么长长的、被占据的位置就会聚集在一起形成“集群”,结果找到一个空位所花费的时间会急剧增加。但是这个已有半个多世纪、一直不利于 linux中国 2024-07-17 宇宙之一粟
Collision: 一个验证你的文件是否被篡改的开源应用一个让你查看你的文件哈希值,以确定它不是恶意文件,并且确实来自真实来源的图形界面程序。 有人给你发送了一个文件,你怎样来证实它是给你的原件?你怎样来确定它没有被篡改过? 同时,你怎么证实这个文件是来自一个原始的真实来源。 这就是加密哈希的重要作用所在。如果用来验证一个文件,诸如 SHA-1 之类的哈希功能就是一个校验值。这能够帮助你确认文件是否已经被修改。 如果你感到好奇,你可以参考我们的 在 L linux中国 2024-07-17 醒在深海的猫
Collision:用于验证 ISO 和其他文件的 Linux 应用本教程概述了 Collision 的功能和使用指南。它是一个基于 GUI 且易于使用的程序,可让你使用加密哈希函数验证文件。 为什么需要验证文件? 人们每天都通过互联网下载文件。但许多用户从不费心去验证他们的完整性或真实性。这意味着不知道该文件是否合法且未被任何恶意代码篡改。 以作为标准安装镜像的 Linux 发行版 的 ISO 文件为例。所有流行的发行版制造商在 ISO 文件还提供哈希文件。使用 linux中国 2024-07-16 剑圣无痕
哈希表哪家强?几大编程语言吵起来了!哈希表华山论剑 话说这一日,编程语言联合国准备举办一次大会,主题为哈希表,给各大编程语言帝国都发去了邀请函。 很快就到了大会这一天。 联合国秘书长开场发言:“诸位,为促进技术交流与发展,增强各帝国友谊,联合委员会特设此盛会,感谢诸位的捧场” 会场传来一阵鼓掌声······ 秘书长继续发言:“本次大会的主题是哈希表,程序员们使用最多的数据容器之一,各大编程语言帝国相信都有实现。今天的大会就围绕哈希表 开发运维 2024-05-09 大树
java中hashmap实现原理hashmap采用哈希表实现,通过散列函数将键映射到槽位,实现快速访问。冲突处理采用拉链法、开放寻址和桶等技术。负载因子控制着元素数量与桶数量的比例,过高会导致冲突增加。hashmap会自动扩容以减少冲突。默认情况下它不是线程安全的,需要使用concurrenthashmap替代。 HashMap 的实现原理 HashMap 是 Java 中一个常用的数据结构,用于存储键值对。它基于哈希表实现,通 开发运维 2024-05-08 爱可生开源社区
PHP 哈希表的原理、实现与常见问题哈希表通过哈希函数将键映射到数组下标,实现快速查找、插入和删除。php 使用数组和 md5() 哈希函数实现哈希表,通过线性探查解决冲突。常见问题包括哈希冲突(可通过增加数组大小或优化哈希函数解决)、哈希碰撞(可通过安全散列函数避免)和性能(取决于哈希函数和冲突解决方法)。实战案例如单词计数,通过哈希表快速统计单词频次。 PHP 哈希表的原理、实现与常见问题 哈希表的原理 哈希表是通过哈希函数将键 开发运维 2024-05-07 张二河
用 PHP 实现复杂数据结构的完整指南php 提供了数组、哈希表、链表、堆栈、队列、树和图等复杂数据结构的完整指南,可用于有效存储和管理不同数据类型和结构,增强 php 程序的性能和效率。 用 PHP 实现复杂数据结构的完整指南 数据结构在现代编程中至关重要,它决定了数据存储和访问的效率。PHP 提供了广泛的数据结构来满足各种场景。本指南将全面介绍如何使用 PHP 实现复杂数据结构,并通过实战案例加深理解。 一、数组和哈希表 数组和哈 开发运维 2024-05-07 捡田螺的小男孩
PHP数组查找特定元素的底层原理php 数组查找元素原理:确定键的哈希值。查找对应哈希值的桶。在桶内遍历并比较键值对。找到匹配键时返回元素。 PHP 数组查找特定元素的底层原理 在 PHP 中,数组是一种有序的数据结构,其中元素以键值对的形式存储。为了查找特定元素,底层执行以下步骤: 确定哈希值:数组键为字符串时,PHP 会计算其哈希值(整数值)。 桶查找:数组被划分为多个“桶”,每个哈希值对应一个桶。数据库/hashtable 开发运维 2024-05-05 大猫
FSVERITY/DM Verity使用多缓冲区哈希可以获得更好的性能除了最近为AVX2、AVX-512和其他版本制定了AES-XTS实现,以加快磁盘/文件加密,谷歌的Eric Biggers还为Linux内核的DM Verity代码进行了一些不错的性能改进。 作为提醒,DM Verity是设备映射器使用加密摘要提供块设备透明完整性检查的手段。有了Eric Biggers的挂起代码,通过使用多缓冲区哈希,性能得到了提高。他在这个补丁中解释说: “当哈希算法支持时,使 运维资讯 2024-05-04 贤蛋大眼萌
Java 函数库中都有哪些常用哈希算法工具?在 java 函数库中,messagedigest 类可用于哈希算法,并提供 md5、sha 和其他哈希算法的实现,包括:1. md5 算法:使用 messagedigest.getinstance("md5") 获取实例。2. sha 算法:包括 sha-1、sha-256、sha-384 和 sha-512,使用 messagedigest.getinstance("sha-256") 获取实 开发运维 2024-04-30 共饮一杯
hashmap在java中是什么意思hashmap 是一种存储键值对的数据结构,使用哈希表来快速高效地查找和插入值。其特点包括:存储键值对,键唯一,值可为 null。基于哈希表,平均查找复杂度为 o(1)。默认非线程安全,需要同步机制。 什么是 HashMap? HashMap 是一种哈希表,它是一种数据结构,可以高效地存储键值对。在 Java 中,HashMap 是一个由 java.util 包提供的类,它使用哈希函数将键映射到值 开发运维 2024-04-27 三掌柜
为什么Java String哈希函数乘数为31?哈喽,大家好,我是了不起。 今天给大家介绍一个底层数字问题——为什么Java String哈希函数乘数为31? 1、源码重现 在这个实现中,31 被用作乘数。那么,为什么选择 31 作为乘数呢? 2、降低哈希冲突 31 是一个质数,相信大家学过数学的,质数是这样定义的: 指在大于1的自然数中,除了1和它本身以外没有任何正因数的自然数。 在哈希函数中,使用质数作为乘数可以提高哈希值的分布均匀性。如果 开发运维 2024-04-26 法医
redis5种数据类型对应底层结构redis 提供五种数据类型,每种类型有其底层数据结构:字符串:sds(二进制安全、空间高效)哈希:哈希表(键值对存储)列表:双向链表(有序数据集合)集合:整数集合或哈希表(不重复元素)有序集合:跳跃表(按分数排序和范围查找) Redis 五种数据类型及其底层结构 Redis 提供了五种基本数据类型,每种类型都有不同的底层数据结构来存储和操作数据。 1. 字符串(string) 底层结构:SDS( 数据运维 2024-04-19 大白菜程序猿