MD5加密方式

MD5是一种不可逆的加密方式,常用于SQL中的字符串字段加密,如varchar类型。尽管加密后的结果相同(算法可逆),但原始信息无法通过加密结果直接恢复。文章提到了尝试对非适合类型(如int,float,date)使用MD5加密可能会导致SQL错误,如数据截断或日期格式错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

md5加密方式

md5加密方式是属于sql中的,md5加密方式不可逆,算法可逆

加密方式不可逆:就是说在使用md5给一些值进行加密的时候,它的加密方式是固定的,所以是加密方式不可逆,因为不可更改

举例:update 表名 set 字段名 = md5(值) where 字段id = 值

md5()的加密方式无法更改,加密方式不可逆

算法可逆:在md5中,就比如说我给两个值都用md5去加密了,但是这两个被加密的值都是一样的,在加密结束后,就会发现这两个值哪怕被加密了,加密后得到的值也是一样的,这是因为算法可逆,就是说算法都是固定的,我们可以根据这个固定的算法去得到一些值

举例:

Insert into 表名 values(0,md5(‘123’))

Insert into 表名 values(0,md5(‘123’))

在他们这两个语法都运行结束后,就会发现得到的值都是一样的

1 202cb962ac59075b964b07152d234b70

2 202cb962ac59075b964b07152d234b70

我从数据库中粘贴过来的,可以看到两行字段是一样的,而且要注意,一般加密都是给varchar字段类型的字段用的,而不是去给int,float或者date类型的字段去用的,所以这边要注意,有的时候如果去用也会报一些常见的sql语句错,例如

Data truncated for column 字段名 at row 1

第一列中,数据截断在字段(字段名)中

Incorrect datetime value: '16a4900e72f585835f69abf0631eea5c' for column 'date' at row 1

在第一行中,有错误的时间类型某某值在字段名date中

为什么说算法可逆,加密方式不可逆,算法好像也没区别吧,为什么这么说,算法我们可以人力物力去给他一个个计算出来,自己去破解,所以是可以逆的,而加密方式则是固定的语法,我们没法去更改他吗,所以是不可逆的

以上纯属个人观点,如有补充,可以在评论区补充一下,谢谢各位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值