
编程
文章平均质量分 93
s666666__
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分享一套更安全的 API 用户登录 明文密码加密 设计方案 (适合用于非https的场景)
1)早期登录接口一般都是采用账号+明文密码 直接发送到服务端做校验,数据库存储的是用户密码 md5 值; 此方法如果在没有用 https 的场景,很容易被抓包盗取用户密码;2)另一种方法是用户密码在本地端使用 md5 转换后、再生成一个签名同时发送到服务端做校验;(常用于端对端的 API) 此方法的好处是用户密码完全不在网络中流通,无需担心被抓包盗取用户密码; 但有个重大的弊端就是、此时数据库中存储的 md5 转换后的用户密码就形同于明文存储了; ...原创 2020-11-12 01:15:07 · 2549 阅读 · 2 评论 -
C# 多线程同步方法 之 Monitor.Wait 与 Monitor.Pulse
1、线程同步原理组成:(以单个object为准) 1、[持锁线程] = locker = 持锁中 2、[就绪队列] = ready queue = 一等队列,队列中的线程将被挂起等待,系统会自动按顺序为线程分配对象的排他锁 3、[等待队列] = wait queue = 二等队列,队列中的线程将被挂起等待,需要通过Pulse来控制向前2、Monitor 类使用说明3、测试例子 A/* /...原创 2020-06-09 20:29:31 · 1031 阅读 · 0 评论 -
async await 异步方法 错误的理解与运行原理解说
1、【错误的理解】刚开始接触 async await 时还以为 async 方法与 Task 是相同原理; 且把 await 赋值方式也理解成了是异步、以为第一个await 没执行完时会继续执行下一个 await,直到后边需要用到 await 结果时才会开始等待它的返回结果; 然后 async 方法必须使用 await 进行引用、而 await 又只能在async 方法中使用,于是乎就开始了摸不着头脑地死循环。。经过后续不断地测试,发现居然完全不是自己刚开始想象的那样,哈哈!以下是总..原创 2020-05-12 17:55:13 · 792 阅读 · 0 评论 -
了解 &按位与、|按位或、^按位异或、~按位取反、按位左移、按位右移 的区别
《&逻辑与、|逻辑或、^逻辑异或、~按位取反、<<逻辑左移、>>逻辑右移 的区别》总结:都是用于二进制运算,在C#中则是将十进制数转换成二进制数再进行运算,得出二进制结果再转换成十进制数。【& 逻辑与(And)】遇0为0,全1为1 如:(0 & 0= 0)或 (0 & 1 = 0) 或 (1 & 1 = 1) 如...原创 2019-10-25 11:52:24 · 624 阅读 · 0 评论 -
了解 &和&& 与 |和|| 的区别
&&和||是用于条件判断,而&和|是位运算。· 【&】//相当于二进制减法;//计算原理:数值转成二进制 > 二进制相减(遇0为0) > 再将二进制计算结果转成数值;(1&1) = (0001 - 0001 = 0001) = 1(1&2) = (0001 - 0010 = 0000) = 0(2&2) =...原创 2017-11-23 12:47:07 · 1166 阅读 · 0 评论