大家mysql 分表的哈希算法是怎样的

大家mysql 分表的哈希算法是怎样的,第1张

当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。

根据个人经验,mysql执行一个sql的过程如下:

1,接收到sql2,把sql放到排队队列中 3,执行sql4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql的执行时间。

*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

btinfo 的类型是 varchar 要在这个值上加单引号

select btinfo from torrent where btinfo = ‘b7662f06bfe2d2bd667ef37bf4582c0c5b296725’


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8613621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存