mysql 字段如何转换成md516位的

hashplaintextmd516md532update`hash`setplaintext=md5(plaintext)where1=132位md5很容易生成了,16... hash plaintext md516 md532
update `hash` set plaintext = md5(plaintext) where 1=1
32位md5很容易生成了,16位的md5加密要如何获得。plaintext 是明文
求个mysql 语句
展开
 我来答
wallcopper
2014-11-11 · TA获得超过3447个赞
知道大有可为答主
回答量:1986
采纳率:86%
帮助的人:1816万
展开全部
1、一般16位MD5就是截取32位的中间16位
2、mysql可以用SUBSTRING截取字符串
用法:substring(被截取字段,从第几位开始截取,截取长度)
例如:select SUBSTRING(md5('123456'),9,16) from dual;
49ba59abbe56e057
3、如果是密码可以用password()函数
SET old_passwords = 1;
show variables like ‘%old%';
| old_passwords | ON |
select password(‘123456′)from dual;
| 565491d704013245 |
day忘不掉的痛
推荐于2018-05-17 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223941
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
方法如下:
1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现
例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决
select * from pony order by (d+0)
2.在进行ifnull处理时,比如 ifnull(a/b,'0') 这样就会导致 a/b成了字符串,因此需要把'0'改成0,即可解决此困扰
3.比较数字和varchar时,比如a=11,b="11ddddd";
则 select 11="11ddddd"相等
若绝对比较可以这样:
select binary 11 =binary "11ddddd"
4.字符集转换 : CONVERT(xxx USING gb2312)
类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型),类型必须用下列的类型:
可用的类型: 
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-11
展开全部
update `hash` set plaintext = substr(md5(plaintext), 1, 16) where 1=1
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式