hash

  • int的hash

    func hashInt32(x int) int { x = ((x >> 16) ^ x) * 0x45d9f3b x = ((x >> 16) ^ x) * 0x45d9f3b x = ((x >> 16) ^ x) return x } 今天看到一个int的hash函数,地址http://stackoverflow.com/questions/664014/what-integer-hash-function-are-good-that-accepts-an-i

    hash, int, 魔幻数字April 28

  • 分布式存储和一致性hash
    分布式存储和一致性hash

    本文我将对一致性算法作介绍,同时谈谈自己对一致性hash和一般意义上的hash算法的区别 hash是什么 hash即hash算法,又称为散列算法,百度百科的定义是 哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值.哈希值是一段数据唯一且极其紧凑的数值表示形式. 1.这句话有几个很重要的地方,首先是任意长度二进制,在java中,可以代表所有对象(序列化) 2.固定长度,使得hashmap等可以按照高低位进行位操作,同时能够提供统一的方式(有种协议的感觉) 3.

    hash, 分布式, 分布式缓存, 一致性hashApril 23

  • hashmap和hash算法研究
    hashmap和hash算法研究

    总述 hashmap作为java中非常重要的数据结构,对于key-value类型的存储(缓存,临时映射表,...)等不可或缺,hashmap本身是非线程安全的,对于多线程条件下需要做竞争条件处理,可以通过Collections和ConcurrentHashmap来替代. Hashmap源码探究 数据结构 hashmap存储数据主要是通过数组+链表实现的,通过将key的hashcode映射到数组的不同元素(桶,hash中的叫法),然后冲突的元素放入链表中. 链表结构(Entry) 采用静态内部类

    hash, hashmap, Java, 集合April 17

  • ConcurrentHashmap 解析
    ConcurrentHashmap 解析

    ConcurrentHashmap(JDK1.7) 总体描述: concurrentHashmap是为了高并发而实现,内部采用分离锁的设计,有效地避开了热点访问.而对于每个分段,ConcurrentHashmap采用final和内存可见修饰符volatile关键字(内存立即可见:Java 的内存模型可以保证:某个写线程对 value 域的写入马上可以被后续的某个读线程"看"到.注:并不能保证对volatile变量状态有依赖的其他操作的原子性) 借用某博客对concurrentHashm

    hash, , 高并发, ConcurrentHashMap, 乐观April 13

  • hashmap重写key的hashcode问题

    今天看到这样一个问题: /**补充完该类,不修改main方法,使得get()方法可以取到值*/ package test; import java.util.HashMap; import java.util.Map; public class StudentTest { private static final class Student { private static String name; public Student(String name) { this.name = name;

    hash, hashmap, hashcode, Java, 集合April 12

  • 在C#中生成与PHP一样的MD5 Hash Code的方法

    这篇文章主要介绍了如何在C#中生成与PHP一样的MD5 Hash Code,需要的朋友可以参考下 最近在对一个现有的系统进行C#改造,该系统以前是用PHP做的,后台的管理员登陆用的是MD5加密算法.在PHP中,要对一个字符串进行MD5加密非常简单,一行代码即可: md5("Something you want to encrypt.") 直接调用md5()方法,然后将要进行MD5加密的字符串传进去,就可以得到返回的hash code.在C#中应该也会有对应的算法吧!对吗?我首先尝试了下

    hash, md5, codeApril 10

  • LeetCode-Minimum Window Substring
    LeetCode-Minimum Window Substring

    题目描述: Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). For example, S = "ADOBECODEBANC" T = "ABC" Minimum window is "BANC". Note: If there is no such

    hash, String, tableMarch 11

  • 一致性hash
    一致性hash

    场景: 一个分布式的存储系统(N台服务器),需要将数据存储到某个节点上,如果采用普通的hash算法,通过取模运算将数据映射到具体的节点上,那么当有节点故障或者新节点加入集群时,之前所有的数据映射都将失效.对应于持久化存储就需要做数据迁移,对于分布式缓存系统,那么保存的缓存数据都将失效. 为了解决上述问题,引入了一致性hash算法. 原理: 把数据使用hash函数,映射到一个空间中(0~2^32-1).当数据存储时,得到一个hash值,对应到这个环的相应位置,存储节点也计算hash值,分散到这个环

    hash, 原理, 应用场景, 一致性hashMarch 8

  • LeetCode-Sudoku Solver
    LeetCode-Sudoku Solver

    Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by the character '.'. You may assume that there will be only one unique solution. A sudoku puzzle... ...and its solution numbers marked in red. 这道题目就是普通的数独

    hash, backtracking, table, LeetCodeMarch 6

  • [ruby][vim] 用正则替换旧的 hash rocket 语法

    Change this way :param => 'value' for this way param: 'value' open .rb file in vim and do %s/:\([^=,'"]*\) =>/\1:/g if you want use the interactive mode, add c in the end of command %s/:\([^=,'"]*\) =>/\1:/gc case you want the inverse,

    ruby, hash, rocketFebruary 12

  • equals和hashCode源码解析
    equals和hashCode源码解析

    equals和hashCode网上也有很多的资料.这里只是记录下我目前的理解与认识. 大家会经常听到这样的话,当你重写equals方法时,尽量要重写hashCode方法,有些人却并不知道为什么要这样,待会就会给出源码说明这个原因. 首先来介绍下Object的equals和hashCode方法.如下: public native int hashCode(); public boolean equals(Object obj) { return (this == obj); } 这里挺简单的,eq

    hashset, hash, hashmap, hashcode, equalsFebruary 7

  • PHP利用hash冲突漏洞进行DDoS攻击的方法分析

    这篇文章主要介绍了PHP利用hash冲突漏洞进行DDoS攻击的方法,实例分析了php利用hash进行DDoS攻击的原理与实现技巧,需要的朋友可以参考下 本文实例分析了PHP利用hash冲突漏洞进行DDoS攻击的方法.分享给大家供大家参考.具体分析如下: 首先声明:本文内容只用于研究学习使用,请勿用于非法行为! 前面提到过最近爆出的hash表碰撞漏洞,包括java.python.php等在内的很多常用语言均未幸免,今晚咱就来实际看看它的威力. 攻击原理: 通过向目标服务器post一组精心拼凑的数组

    hash, ddos, PHP, 攻击January 30

  • Mysql中的Btree与Hash索引比较

    这篇文章主要介绍了Mysql中的Btree与Hash索引比较,本文起讲解了B-Tree 索引特征.Hash 索引特征等内容,需要的朋友可以参考下 mysql最常用的索引结构是btree(O(log(n))),但是总有一些情况下我们为了更好的性能希望能使用别的类型的索引.hash就是其中一种选择,例如我们在通过用户名检索用户id的时候,他们总是一对一的关系,用到的操作符只是=而已,假如使用hash作为索引数据结构的话,时间复杂度可以降到O(1).不幸的是,目前的mysql版本(5.6)中,hash

    hash, btree, MySQL, 索引, 比较January 15

  • perl哈希hash的常见用法介绍

    哈希在perl是非常重要且常用的,本文为大家介绍一些常见的用法,供大家学习参考 基本用法 #初始化%h为空数组 %h={}; #用数组初始化%h为a=>1,b=>2 %h=('a',1,'b',2); #意义同上,只是另一种更形象化的写法.%h=('a'=>1,'b'=>2); #如果key是字符串,可以省略引号.下面这行和上面那行是一样的%h=(a=>1,b=>2); #用{}来访问print "$h{a}\n"; #打印 $h{b}='2b';

    hash, perl, 哈希December 24

  • PowerShell中定义哈希散列(Hash)和调用例子

    这篇文章主要介绍了PowerShell中定义哈希散列(Hash)和调用例子,本文介绍在PowerShell中如何创建一个哈希变量,并且使用哈希变量,需要的朋友可以参考下 所谓哈希变量,是英文单词Hash的音译,专业的叫法是"散列".在我们这里理解哈希变量,它是一个"键值对"的集合,或者说是一本字典. 下面我们使用例子来定义一个哈希变量. PS C:\Users\zhanghong> [email protected]{"a"=1; >> "

    hash, powershell, 哈希, 散列December 17

  • php操作redis中的hash和zset类型数据的方法和代码例子

    这篇文章主要介绍了php操作redis中的hash和zset类型数据的方法和代码例子,本文共介绍了26组函数或方法,需要的朋友可以参考下 前面一篇博客主要是string类型,list类型和set类型,下面hash类型和zset类型 1,hset 描述:将哈希表key中的域field的值设为value.如果key不存在,一个新的哈希表被创建并进行HSET操作.如果域field已经存在于哈希表中,旧值将被覆盖. 参数:key field value 返回值:如果field是哈希表中的一个新建域,并且

    hash, zset, redis, PHPDecember 9

  • Ruby中Hash的11个问题解答

    这篇文章主要介绍了Ruby中Hash的11个问题解答,本文讲解了如何创建Hash.Hash的键是哪些类型. 如何给Hash赋默认的值等内容,需要的朋友可以参考下 最近在学习Rails,因为学习的java为入门语言.些许的不太适应.特别是Ruby的Hash.不过细细的想想就通了.基本上都是通的Key-Value.除了刚开始不太适应写法没什么大的问题.这个是我在网上看到的一篇日志. 1. 如何创建Hash? x = Hash.new x = {} x = {:a => 1, :b => 2} 这些

    ruby, hashNovember 27

  • Ruby简明教程之数组和Hash介绍

    这篇文章主要介绍了Ruby简明教程之数组和Hash介绍,非常简洁的讲解,可以作为语法备忘,需要的朋友可以参考下 今天学习的是数组和Hash,数组在很多编程语言中都能常常用到. 数组: 数组是存储数据的一种容器,在Ruby中,数组中存储的数据可以是任何类型的数据:这和JAVA不同,在JAVA中,数组是存储同一类型数据的结构. 1. 在Ruby中如何定义数组呢? 使用[ ]来框住元素,而元素之间则使用","间隔.如下, name = ["Windy", "Ci

    ruby, hash, 数组, 简明教程October 14

  • memcache一致性hash的php实现方法

    这篇文章主要介绍了memcache一致性hash的php实现方法,实例分析了memcache中hash一致性的实现原理与相关技巧,需要的朋友可以参考下 本文实例讲述了memcache一致性hash的php实现方法.分享给大家供大家参考.具体如下: 最近在看一些分布式方面的文章,所以就用php实现一致性hash来练练手,以前一般用的是最原始的hash取模做 分布式,当生产过程中添加或删除一台memcache都会造成数据的全部失效,一致性hash就是为了解决这个问题,把失效数据降到最低,相关资料可以

    hash, memcache, PHPOctober 10

  • php 分库分表hash算法

    分享一个分库分表hash算法,需要的朋友可以参考下. //分库分表算法 function calc_hash_db($u, $s = 4) { $h = sprintf("%u", crc32($u)); $h1 = intval(fmod($h, $s)); return $h1; } for($i=1;$i<100;$i++) { echo calc_hash_db($i); echo "<br>"; } function calc_hash_

    hash, PHP, 分表, 分库September 18

  • window.location.hash 使用说明

    location是javascript里面管理地址栏的内置对象. 比如loation.href是 页面的url .但是 location.hash可以获取或设置页面的 标签值 比如http://domain/#testDemo中 咱们的location.hash 就是 #testDemo 下面引用一个 网上的demo 一个搜索版块,功能有3个:普通搜索,高级搜索,后台管理,分别指明他们各自的hash 值:#search,#advsearch,#adminboss. 在页面初始化的时候,通过win

    hash, locationJuly 8

  • [leetcode] Anagrams

    Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be in lower-case. https://oj.leetcode.com/problems/anagrams/ 思路:anagram的题目,CC150也有,如何判断是anagram,一种是用hashmap存字符数来判断,另一种是排序后字符相同来判断.这个题目采用排序后的字符作为hashmap的k

    hash, Java, String, LeetCodeJune 26

  • [leetcode] First Missing Positive

    Given an unsorted integer array, find the first missing positive integer. For example, Given[1,2,0]return3, and[3,4,-1,1]return2. Your algorithm should run in O(n) time and uses constant space. https://oj.leetcode.com/problems/first-missing-positive/

    hash, Java, LeetCodeJune 25

  • [leetcod]Substring with Concatenation of All Words

    You are given a string, S, and a list of words, L, that are all of the same length. Find all starting indices of substring(s) in S that is a concatenation of each word in L exactly once and without any intervening characters. For example, given: S:"b

    hash, Java, String, LeetCode, two-pointersJune 25

  • Longest Substring Without Repeating Characters
    Longest Substring Without Repeating Characters

    Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length is 3. For "bbbbb" the longest subst

    hash, Java, LeetCodeJune 24

  • Redis 2.8.9源码 - Redis中的字典的实现 dict
    Redis 2.8.9源码 - Redis中的字典的实现 dict

    Redis使用字典的方式实现了数据库键空间,今天就记录一下字典的实现方式. Redis 对字典的描述和实现源码在 src/dict.h src/dict.c,关于学习Redis字典如何进行测试或debug,请参考另外一篇文章:Redis 2.8.9源码 - 字典哈希表操作函数头整理,并注释作用和参数说明(附测试方法和代码以及使用方法) 字典结构: typedef struct dict { dictType *type; //根据存储内容的不同,自定义一组回调函数来控制比较申请内存释放空间等操作

    hash, dict, hashtable, redis, 字典, 哈希算法, Hash算法, Redis源码June 9

  • Redis 2.8.9源码 - 字典哈希表操作函数头整理,并注释作用和参数说明(附测试方法和代码)

    本文为作者原创,转载请注明出处:http://my.codeweblog.com/fuckphp/blog/277226 点击查看测试代码 /** * 32数混淆函数(没看到哪里有用这个函数) * unsigned int key 需要混淆的数字 * return 混淆后的数字 */ unsigned int dictIntHashFunction(unsigned int key); /** * 设置hash函数的随机种子 * uint32_t seed 随机种子默认 5381 * retur

    hash, dict, hashtable, redis, 字典, 哈希算法, Hash算法, Redis源码June 9

  • oracle分区表之hash分区表的使用及扩展

    Hash分区是Oracle实现表分区的三种基本分区方式之一.对于那些无法有效划分分区范围的大表,或者出于某些特殊考虑的设计,需要使用Hash分区,下面介绍使用方法 Hash分区是通过对分区键运用Hash算法从而决定数据的分区归属.使用Hash分区有什么优点呢? 常用的分区表所具有的优点:如提高数据可用行,减少管理负担,改善语句性能等优点,hash分区同样拥有.此外,由于Hash分区表是按分区键的hash计算结果来决定其分区的,而特定的分区键其hash值是固定的,也就是说Hash分区表的数据是按分

    oracle, hash, 分区表May 30

  • Redis 2.8.9源码 - Redis Dict 中的Hash算法

    本文为作者原创,转载请注明出处:http://my.codeweblog.com/fuckphp/blog/270258 djb2 算法: unsigned long hash(unsigned char *str) { //hash种子 unsigned long hash = 5381; int c; //遍历字符串中每一个字符 while (c = *str++) //对hash种子 进行位运算 hash << 5表示 hash乘以32次方,再加上 hash 表示hash乘以33 //然

    hash, dict, hashtable, redis, 字典, 哈希算法, Hash算法, Redis源码, djb2, murmurhash2May 28

  • Ruby字符串.条件.循环.数组.Hash.类基本操作笔记

    这篇文章主要介绍了Ruby字符串.条件.循环.数组.Hash.类基本操作笔记,需要的朋友可以参考下 一.字符串操作 字符串插值 1.#{}: 任意放置在#{}中的合法Ruby代码都将被求值,并被替换为求值结果插入到原位置 2.单引号与双引号差别: 双引号允许字符转义,单引号不允许转义,里是什么字符,用户看到的就是什么字符 单引号不允许字符插值 字符串拆分 1.以空格拆分:string.split(' ')字符串连接 方法一.'Ruby' + 'Monk', stdout: RubyMonk 方法

    ruby, hash, 字符串, 数组, 循环, , 条件判断May 6

  • PHP中用hash实现的数组

    今天回顾学习了PHP中变量实现的方法,在浏览其源码是发现在PHP中所有的数据类型通过一个union存储.php语言是弱类型语言,其实现中通过记录变量的类型和值来实现其管理. PHP中使用最多的非Array莫属了,那Array是如何实现的?在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1. 而其计算字符串hash值的方法如下,将源码摘出来以供查备: static inline ulong

    hash, 数组April 10

  • 理解php Hash函数,增强密码安全

    服务器和数据库的资料偶尔会被窃取,因此需要保证发生这种情况时一些重要的用户数据,比如密码,是别人无法获取的.这里我们将要讨论Hash的原理,以及它是如何保护Web应用程序中的密码安全的. 1.声明 密码学是一个复杂的话题,我也不是这方面的专家.许多高校和研究机构在这方面都有长期的研究.在这篇文章里,我希望尽量使用简单易懂的方式向你展示一种安全存储Web程序密码的方法. 2."Hash"是做什么的? "Hash将一段数据(小数据或大数据)转换成一段相对短小的数据,如字符串或整数

    hash, PHPMarch 26

  • PHP随机生成唯一HASH值自定义函数

    这篇文章主要介绍了PHP随机生成唯一HASH值自定义函数,本文先是给出了需求,然后给出了实现代码,需要的朋友可以参考下 网上有很多种方法获取随机唯一的HASH值,但是大同小异: 1.先获取随机的唯一字符串 2.进行MD5或者sha1算HASH值 一个项目要用到hash值,就去网上找了找,却发现PHP有一个函数能直接生成唯一字符串--uniqid(),通过使用这个函数,再加上自己生成的随机数(防止被破解),更具有唯一性且不易被猜解.主要考虑问题如下: 1.随机的效率与随机性:rand和mt_ran

    hash, PHP, 函数, 唯一, 随机生成March 1

  • PHP: 深入了解一致性哈希
    PHP: 深入了解一致性哈希

    随着memcache.redis以及其它一些内存K/V数据库的流行,一致性哈希也越来越被开发者所了解.因为这些内存K/V数据库大多不提供分布式支持(本文以redis为例),所以如果要提供多台redis server来提供服务的话,就需要解决如何将数据分散到redis server,并且在增减redis server时如何最大化的不令数据重新分布,这将是本文讨论的范畴. 取模算法 取模运算通常用于得到某个半开区间内的值:m % n = v,其中n不为0,值v的半开区间为:[0, n).取模运算的算

    hash, PHP, 哈希, 一致性哈希February 27

  • php常用hash加密函数

    这篇文章主要介绍了php常用hash加密函数,以实例形式详细分析了PHP的hash加密函数用法,代码中备有详尽的注释,便于理解,需要的朋友可以参考下 本文实例讲述了php常用hash加密函数.分享给大家供大家参考.具体分析如下: $hash_list=hash_algos(); //返回注册的hash规则列表 print_r($hash_list); //显示结果 创建文件以计算哈希值:file_put_contents('example.txt', 'the quick brown fox j

    hash, PHP, 加密January 17

  • shiro加密/散列

    RandomNumberGenerator rng = new SecureRandomNumberGenerator(); ByteSource s = rng.nextBytes(X); //可以指定X为一数字 byte[] saltByte = s.getBytes(); //getBytes方法可以得到字节数组 String salt = Hex.encodeToString(salt); //shiro加密库 通过密码.salt和加密次数 生成加盐加密的密码 Sha1Hash sha1

    hash, hex, sha1, ShiroJanuary 9

  • MySQL的Btree索引和Hash索引的区别

    Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引. 可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引也一样,虽然 Hash 索引效率高,但是 Hash 索引本身由于其特殊性也带来了很多限制和弊端,主要有

    hash, btree, 索引December 26

  • php对文件进行hash运算的方法

    这篇文章主要介绍了php对文件进行hash运算的方法,涉及针对文件的hash运算技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了php对文件进行hash运算的方法.分享给大家供大家参考.具体如下: 这段代码非常有用,如果你下载了一个文件,网站提供了hash结果,你可以对你下载下来的文件进行hash运算,以验证下载的文件是否正确. <html> <head> <title>Hash (Check) Files</title> <style t

    hash, PHP, 文件December 9

  • Redis源码分析系列二十五: 我如何改造redis的rehash过程

    昨晚看了下redis的populateCommandTable.大致原理我是明白的, 不过我觉得代码写的有点绕,有些细节的控制看得会让人晕头转向. 我自己想了下,如果让我根据其原理来自己写的话,我的思路会是如下: 考虑到有两个哈希表ht[0],ht[1],刚开始ht[0]没有成员,ht[1]没有成员. 1)ht[0]为空,申请缓冲区,size=4.同时加入第一个命令. 2)ht[0]还可以放一个,放入第2个命令. 3)ht[0]不满,放入第3个命令. 4)ht[0]不满,放入第4个命令, 此时h

    hash, hashtable, redis, 哈希, populateCommandTable, rehashNovember 28

  • 算法导论原理分析系列5:第11章 散列表

    这个正好之前看的redis源码里有用到哈希表,所以结合redis源码来分析哈希表. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~先看书上的理论 11.1 直接寻址表 简单,略过. 11.2 散列表 首先需要计算某种哈希算法,算出key对应的hash值,然后放在这个桶里面去,可以采用链表方式. 11.3散列函数 一般这个函数就自己计算了, 书上罗列出来的有 11.3.1 除法散列法 11.3.2乘法散列法 11.3.3 全域散列 11.4 开放寻址法 有三种技术: 线性探查.二次探查.

    hash, redis, 算法, 哈希表, 哈希, 算法导论November 13

  • [UMU WSH 教程](44) WII 应用实例 - 查找重复文件

    [UMU WSH 教程](43) WIA 应用实例 - 批量转换图片格式 [UMU WSH 教程](42) FSO 应用实例 - 批量删除文件 UMU WSH 教程代码下载:http://sdrv.ms/ZpPPaS UMU WSH Git:http://git.codeweblog.com/umu618/umu-wsh 数据经常 in-in-out-out 难免产生重复,比如上次 UMU 在 Surface RT 上导入 iPhone4S 和 iPhone5 的照片时发生的悲剧: 把 iPho

    hash, wsh, vbs, umuMay 28

  • Redis的哈希删除导致的Nginx崩溃问题

    今天早上测试代码发现一个奇怪的问题,每次执行一个功能,我的nginx都会自动崩溃,仔细追查发现是redis的哈希删除导致的,现在详细记录如下: 系统环境:Win7 64bit+Nginx1.0.1+PHP(FastCgi)5.2.8+Redis2.4.15+php_redis.dll(5.2.17.17) 测试代码: $_redis = new Redis(); $isConnect = $_redis->connect('192.168.2.150', '6379', 5); $key = 2

    hash, redis, PHP, Nginx崩溃May 23

  • hash原理与一致性hash
    hash原理与一致性hash

    哈希表的原理与实现 一列键值对数据,存储在一个table中,如何通过数据的关键字快速查找相应值呢?不要告诉我一个个拿出来比较key啊,呵呵. 大家都知道,在所有的线性数据结构中,数组的定位速度最快,因为它可通过数组下标直接定位到相应的数组空间,就不需要一个个查找.而哈希表就是利用数组这个能够快速定位数据的结构解决以上的问题的. 具体如何做呢?大家是否有注意到前面说的话:"数组可以通过下标直接定位到相应的空间",对就是这句,哈希表的做法其实很简单,就是把Key通过一个固定的算法函数,既所

    hashMay 21

  • c语言实现hashmap(转载)

    //hash.h /* * hashmap.h * */ #ifndef HASHMAP_H #define HASHMAP_H #define HMAP_PRESET_SIZE 2 <<23 // use a power of 2 for faster array access #define HMAP_GROWTH_RATE 2 #define HMAP_MAKE_HASHFN // build a few hash functions #define HMAP_THREAD_SAFE /

    hash, linux, hashmapApril 26

  • 散列函数(hash)

    Hash,一般译作"散列",就是把任意长度的输入,通过散列算法,变换成固定长度输出,该输出就是散列值. 这种转换是一种压缩映射,也就是散列值远小于输入的空间. 用途: 主要用于安全领域中加密算法,把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值.也可以说,hash就是找到一种数据内容与数据存放地址之间的映射关系. 散列一个典型的应用是 : 确保传递真是的信息 消息或数据的接收者确认消息是否被篡改的性质叫做数据的真实性,也称完整性.发信人通过将元消息和散列值一起发送,可以

    hashApril 16

  • Nginx源代码分析-hash
    Nginx源代码分析-hash

    本文分析基于Nginx-1.2.6,与旧版本或将来版本可能有些许出入,但应该差别不大,可做参考 上篇对nginx中的hash分析还没有结束,因为带有wildcard或wc字样的结构体和函数还没有说明.但我也不知道该从何说起.(其实这篇我理解的可能有错,因为涉及到http module中的代码,还没读透,所以还不吝赐教) 从配置文件的server_name指令说起 在这里有这个指令的详解,这里也有个例子.这个指令有一个动作是比较HTTP报文头中的HOST与server_name的参数,选择最匹配的

    hash, nginx, wildcard, 源码分析February 27

  • 一致性哈希(Consistent Hashing)
    一致性哈希(Consistent Hashing)

    在大型web应用中,缓存可算是当今的一个标准开发配置了.在大规模的缓存应用中,应运而生了分布式缓存系统.分布式缓存系统的基本原理,大家也有所耳闻.key-value如何均匀的分散到集群中?说到此,最常规的方式莫过于hash取模的方式.比如集群中可用机器适量为N,那么key值为K的的数据请求很简单的应该路由到hash(K) mod N对应的机器.的确,这种结构是简单的,也是实用的.但是在一些高速发展的web系统中,这样的解决方案仍有些缺陷.随着系统访问压力的增长,缓存系统不得不通过增加机器节点的方

    hash, memcache, 跨语言December 19

  • (转)关于HASH和MD5

    看来很多人对Hash算法还不是很理解.在这里,我简单的讲解一下. 我也不在希望以后再有人问关于MD5,SHA1如何解密了! 首先简单的讲一下Hash算法和他的通途!可能大家看了以后,很多人可能都会发现自己 目前在使用Hash算法的目的都是和Hash算法本身的设计目的不一样的 :D Hash算法不管是MD5也好SHA1也好. 他们都是一种散列算法,其算法的特点是,可以把任意长度的字符串经过运算生成固定长度的字符串,并且这个产生的字符串代表着原来字符串里的所有字符. 简单的举个例子,就拿我上面说的那

    hash, md5July 13

  • 常见dos简述

    syn洪水:该攻击利用了tcp协议的漏洞,tcp是一种端到端连接的网络协议,建立连接需要三次握手,在一般的tcp协议栈实现中,收到握手请求的tcp服务器将创建tcp半连接并保存到链表中,syn洪水利用这一特点,发送大量syn连接请求,从而造成服务器内存充斥大量的半连接,使服务器无法再处理正常的tcp连接请求.解决这一问题可以采用缩短半连接的生存时间,或者扩大服务器带宽等手段. cc:该攻击利用iframe标签,在正常网页中嵌入不可见的iframe,而将要攻击的网站地址嵌入到iframe中,这样当

    hash, ddos, dos, synApril 4

  • 数据库的哈希设计

    1.2 如何在数据库设计中使用hash 让我们继续开始的那个表.当数据量爆多时,建立在name1和name2字段上的索引就有性能问题了.那么根据hash原理,我们对这个表增加一列哈希列,然后对这一列增加索引,而不是对name1和name2增加索引,成为这样, column name data type name1 varchar(50) name2 varchar(100) other column varchar(32) hashkey integer create index hashkey

    hash, 数据库, 哈希March 27