java md5 16位加密-md5加密方式不可逆,算法可逆(中的)
md5加密方式
md5加密方式是属于sql中的,md5加密方式不可逆,算法可逆
加密方式不可逆:就是说在使用md5给一些值进行加密的时候,它的加密方式是固定的,所以是加密方式不可逆,因为不可更改
举例:update 表名 set 字段名 = md5(值) where 字段id = 值
md5()的加密方式无法更改,加密方式不可逆
算法可逆:在md5中,就比如说我给两个值都用md5去加密了,但是这两个被加密的值都是一样的,在加密结束后,就会发现这两个值哪怕被加密了,加密后得到的值也是一样的,这是因为算法可逆java md5 16位加密,就是说算法都是固定的,我们可以根据这个固定的算法去得到一些值
举例:
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中
为什么说算法可逆,加密方式不可逆,算法好像也没区别吧,为什么这么说,算法我们可以人力物力去给他一个个计算出来,自己去破解,所以是可以逆的,而加密方式则是固定的语法,我们没法去更改他吗java md5 16位加密,所以是不可逆的
以上纯属个人观点,如有补充,可以在评论区补充一下,谢谢各位