decode函数_「16」认识MySQL的一些有趣函数:加密、解密与格式化……

我的加密与解密的认知是被各种谍战类的电视剧所普及的,那时候的年纪刚好是对任何事情都很着迷与好奇,所以这一直就是我心头想揭开的一片面纱。

bbf25de60924e2a9c96261ba1bf48043.png

不知道各位头友是否有同样经历?

看完了本篇涉及到MySQL加密与解密函数功能后,我想你会恍然大悟:其实所谓的密码本质也就如此,关键在于规则而已!

加密的目的就是为了传递信息--MySQL中数据就是信息--的过程中保证其安全性,不容易被第三方所轻易获取。

【1】PASSWORD(str)加密

1c7965186c41dc85b0ec19386b28fed2.png

【结论】PASSWORD(str)将字符串'MYSQLPASSWORD'加密为长字符串,并且对被加密的字符串区分大小写。另外该函数加密后是不可逆的,即不能从解密结果通过算法返回被加密的字符。

【2】MD5(str)加密

13ae3a1a9e586d2c41c93dada818c4d8.png

【结论】与上一种加密函数雷同,只是MD5的加密算法(即规则)是公开的,很容易被别人破译,所以其是可逆的并且安全性不高

【3】ENCODE(str, pswd_str)加密

597bdea7885ca4722ddb34be346390cc.png

【结论】我们可以看到,该加密函数是需要密钥的,加密的结果输出的是一些看似乱码的东东

【4】DECODE(crpt_str, pswd_str)解密

在接收信息方如何破译上面的乱码?基于此MySQL提供了解密函数。

592fb153127c89ceb6a1bc48d68bf03b.png

【结论】进行解密操作还是需要密钥,所以密钥在密码学中是重要的一个物件,犹如谍战电视剧中的密码本。

【5】格式化函数

0494524a6fdd6e245f6a54729030c7cb.png

【结论】其需要传入两个参数,第一个参数是操作对象,第二个参数是定义规则。返回值则是将第一个参数按第二参数定义规则进行四舍五入取小数位,不够的则补0。

【6】进制转换函数

7f09f8fca876842a45eee257d76ac47b.png

【结论】该函数有三个参数,第一个参数是操作对象,第二个参数是指定第一个参数原始进制,第三个参数则表示第一个参数要转换的目标进制。

譬如CONV(15,10,16)就是将十进制的15转换为16进制。

网络地址与数字的互相转换

40616a108161ff7a41374e37dbd613f9.png

【结论】是一对互为反函数。

总结

  • 有三类加密函数,一类解密函数;
  • 加密与解密函数都是需要传入参数值,返回值就是对入参的操作(加密)结果;
  • 密钥是一个核心要素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值