
ash 索引结构特殊性其检索效率非高索引检索定位像B-Tree 索引需要根节点枝节点才能访问页节点IO访问所 Hash 索引查询效率要远高于 B-Tree 索引
能疑问既 Hash 索引效率要比 B-Tree 高家都用 Hash 索引要使用 B-Tree 索引呢任何事物都两面性Hash 索引虽 Hash 索引效率高 Hash 索引本身由于其特殊性带限制弊端主要些
(1)Hash 索引仅仅能满足"=","IN""<=>"查询能使用范围查询
由于 Hash 索引比较进行 Hash 运算 Hash 值所能用于等值滤能用于基于范围滤经相应 Hash 算处理 Hash 值关系并能保证Hash运算前完全
(2)Hash 索引用避免数据排序 *** 作
由于 Hash 索引存放经 Hash 计算 Hash 值且Hash值关系并定 Hash 运算前键值完全所数据库利用索引数据避免任何排序运算;
(3)Hash 索引能利用部索引键查询
于组合索引Hash 索引计算 Hash 值候组合索引键合并再起计算 Hash 值单独计算 Hash 值所通组合索引前面或几索引键进行查询候Hash 索引利用
(4)Hash 索引任何候都能避免表扫描
前面已经知道Hash 索引索引键通 Hash 运算 Hash运算结 Hash 值所应行指针信息存放于 Hash 表由于同索引键存相同 Hash 值所即使取满足某 Hash 键值数据记录条数 Hash 索引直接完查询要通访问表实际数据进行相应比较并相应结
(5)Hash 索引遇量Hash值相等情况性能并定比B-Tree索引高
于选择性比较低索引键创建 Hash 索引存量记录指针信息存于同 Hash 值相关联要定位某条记录非麻烦浪费表数据访问造整体性能低
*nix系系统:ES(Unix)
例子: IvS7aeT4NzQPM
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:第1、2位为salt,例子中的'Iv'位salt,后面的为hash值
系统:MD5(Unix)
例子:$1$12345678$XM4P3PrKBgKNnTaqG9P0T/
说明:Linux或者其他linux内核系统中
长度:34个字符
描述:开始的$1$位为加密标志,后面8位12345678为加密使用的salt,后面的为hash
加密算法:2000次循环调用MD5加密
系统:SHA-512(Unix)
例子:$6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEm
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:开始的$6$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-512加密
系统:SHA-256(Unix)
例子:$5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqi
说明:Linux或者其他linux内核系统中
长度: 55 个字符
描述:开始的$5$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-256加密
系统:MD5(APR)
例子:$apr1$12345678$auQSX8Mvzt.tdBi4y6Xgj.
说明:Linux或者其他linux内核系统中
长度:37个字符
描述:开始的$apr1$位为加密标志,后面8位为salt,后面的为hash
加密算法:2000次循环调用MD5加密
windows系统:
windows
例子:Admin:b474d48cdfc4974d86ef4d24904cdd91
长度:98个字符
加密算法:MD4(MD4(Unicode($pass)).Unicode(strtolower($username)))
mysql
系统:mysql
例子:606717496665bcba
说明:老版本的MySql中
长度:8字节(16个字符)
说明:包括两个字节,且每个字的值不超过0x7fffffff
系统:MySQL5
例子:*E6CC90B878B948C35E92B003C792C46C58C4AF40
说明:较新版本的MySQL
长度:20字节(40位)
加密算法:SHA-1(SHA-1($pass))
其他系统:
系统:MD5(WordPress)
例子:$P$B123456780BhGFYSlUqGyE6ErKErL01
说明:WordPress使用的md5
长度:34个字符
描述:$P$表示加密类型,然后跟着一位字符,经常是字符‘B’,后面是8位salt,后面是就是hash
加密算法:8192次md5循环加密
系统:MD5(phpBB3)
说明:phpBB 3.x.x.使用
例子:$H$9123456785DAERgALpsri.D9z3ht120
长度:34个字符
描述:开始的$H$为加密标志,后面跟着一个字符,一般的都是字符‘9’,然后是8位salt,然后是hash 值
加密算法:2048次循环调用MD5加密
系统:RAdmin v2.x
说明:Remote Administrator v2.x版本中
例子:5e32cceaafed5cc80866737dfb212d7f
长度:16字节(32个字符)
加密算法:字符用0填充到100字节后,将填充过后的字符经过md5加密得到(32位值)
md5加密
标准MD5
例子:c4ca4238a0b923820dcc509a6f75849b
使用范围:phpBB v2.x, Joomla 的 1.0.13版本前,及其他cmd
长度:16个字符
其他的加salt及变形类似:
md5($salt.$pass)
例子:f190ce9ac8445d249747cab7be43f7d5:12
md5(md5($pass))
例子:28c8edde3d61a0411511d3b1866f0636
md5(md5($pass).$salt)
例子:6011527690eddca23580955c216b1fd2:wQ6
md5(md5($salt).md5($pass))
例子: 81f87275dd805aa018df8befe09fe9f8:wH6_S
md5(md5($salt).$pass)
例子: 816a14db44578f516cbaef25bd8d8296:1234
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)