计算机概念笔记

终端带颜色的字符串

ANSI 颜色代码(也称为 ANSI 转义序列)是一系列以 ESC 字符开头的控制序列,用于在终端/命令行中控制文本的颜色、样式、光标位置等格式。

这些代码最初是为 ANSI 终端标准设计的,现在被几乎所有现代终端(Linux/macOS 终端、Windows 终端、VS Code 终端等)支持。

回车符\r和换行符\n

  1. \r:回车,即把光标移动到行首
  2. \n:换行,即把光标移动到下一行

windows下\r\n:先回车后换行

终端命令

  1. windos下终端进入上一级文件:cd ..
  2. 列出当前目录所有文件:dir
  3. 检查某某文件是否存在:dir ??.exe
  4. 启动exe文件:start ??.exe

英文术语

params:参数

claim:声明

validate:确认

exp(expiry date):到期时间

marshal:将数据编码为json

unmarshal:将json解码到相应的数据结构

密码加密

密码加密是通过算法将明文密码转换为密文,以保护用户信息安全的技术手段。

明文通过哈希,加盐转换成密文存储

下一次登陆时比较转换后的密文和存储密文是否相同

加盐:生成一个随机字符串$s$

将$s$和$pwd$拼接之后再哈希得到$hash$,

数据库存储: $s+hash$

网络令牌JWT

JSON Web Token 入门教程 - 阮一峰的网络日志

JWT三个部分:头部,负载,签名

Header.Payload.Signature

  • header:签名算法+令牌类型
  • payload:json对象,用来存放实际需要传递的数据,不加密。包括注册声明(Registered Claims),公共声明(Public Claims),私有声明(Private Claims)
  • signatrue:对前两部分的签名,防止数据篡改。需要指定密钥secret(只有服务器端知道),通过header指定的签名算法生成签名 : HMAC SHA256(base64url(header)+'.'+base64url(payload),secret)

JWT使用方式:客户端存储在cookielocalstorage里。请求头里加入到authorization并加上Bearer前缀