MySQL 16 MD5加密 && 初识事务

5.3 MD5加密


js 里面我们其实就已经涉及 了 md5 加密了。

那么 MD5 加密是什么呢 ?

答:MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。

MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。 MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域

MD5 破解的原理:就是 背后有一个 极强的字典,里面全是 MD5 加密后的值。

insert into testmd5 values(1,'zhangsan','123456'),(2,'lisi','123456'),(3,'wangwu','123456');

update `testmd5` set `pwd`=md5(`pwd`);

在这里插入图片描述


6.1 初识事务

什么是事务呢?

答:要么都成功,要么都失败!

假设,有两条 SQL 都在执行

①(A 给 B 转账)
②(B 收 A 的钱)

如果 服务器突然之间崩溃了,那么 我们就会 全部 sql 失败!不会更改 任何的数据,不会做任何的改动。否则 钱就消失不见了。。

事务原则:ACID原则 具有原子性、一致性、隔离性、持久性(脏读,幻读…

实际上 最重要的性质 就是 隔离性,而 学习事务 也是 为了学习 开启不同的隔离级别,会有什么不同的效果。

  1. 原子性
    原子性就是说 一个事务里 可能包含着 多个步骤,但是这些步骤都是 在处理一个事情,是捆绑在一起的。不能分开。比如说 转账的同时,肯定会有 收钱的步骤。

  2. 一致性
    一致性指的是 在操作执行的前后,各自的状态应保持各自的数据一致。比如说 在转账钱 A:800 B:200 那么对于 转账前来说,800 和 200 就是 它的数据一致性。

  3. 隔离性
    如果两个事务同时在执行,或更多的事务同时在执行,这就类似于 多线程的并发问题。需要有一个 东西去限制 对数据的操作,避免 “脏读”(读取数据的时候出错),而所谓的隔离性,就是让 多个事务在处理 同一个 数据的时候 不发生 任何 的关系。

  4. 持久性
    持久性就是说,操作前后的数据 都是 保持一直不变的。比如说 当服务器突然 崩溃掉的时候,我们的 事务 内的 操作 并没有 全部成功,那么 我们就会 一直保持 事务之前的 那些数据不变!如果 事务一旦提交成功,数据也不会再变回 以前的数据!

  5. 脏读(类似于多线程并发问题)
    脏读说的是就是,一个事务 读取了 另外一个事务 正在处理的数据,可能在这个 事务 并未提交成功之前,你就已经 去 操作 这块数据了。造成了 “脏读” 现象。

  6. 不可重复读
    这是一种 正常的现象,可能你第一次 读取的时候 有一个事务 对数据的操作并未提交,等待你再次 读取的时候,数据就又发生了改变。

  7. 幻读(虚读)
    这也是一种 正常的现象,可能你第一次读取的时候,只有 四条数据,但 再次 读取的时候 其它事务 又增加了一条数据,导致 第二次读取 是 五条数据。给你一种 读错的 假象。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值