570 字
3 分钟
密码学

密码学#

常见加密方式#

  • 生成随机秘钥
  • 将随机秘钥使用RSA非对称加密
  • 将随机秘钥使用AES256对称加密数据

验证签名: 将数据进行签名后进行验证签名

RSA加密#

AES加密#

在项目开发过程中,当操作一些用户的隐私信息,诸如密码、帐户密钥等数据时,往往需要加密后可以在网上传输。这时,需要一些高效地、简单易用的加密算法加密数据,然后把加密后的数据存入数据库或进行其他操作;当需要读取数据时,把加密后的数据取出来,再通过算法解密。 关于加密解密 当前我们项目中常用的加解密的方式无非三种.

对称加密, 加解密都使用的是同一个密钥, 其中的代表就是AES、DES 非对加解密, 加解密使用不同的密钥, 其中的代表就是RSA 签名算法, 如MD5、SHA1、HMAC等, 主要用于验证,防止信息被修改, 如:文件校验、数字签名、鉴权协议 Base64不是加密算法,它是一种数据编码方式,虽然是可逆的,但是它的编码方式是公开的,无所谓加密。本文也对Base64编码方式做了简要介绍。

AES AES,即高级加密标准(Advanced Encryption Standard),是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。AES中常见的有三种解决方案,分别为AES-128、AES-192和AES-256。 AES加密过程涉及到4种操作:字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。解密过程分别为对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。加解密中每轮的密钥分别由初始密钥扩展得到。算法中16字节的明文、密文和轮密钥都以一个4x4的矩阵表示。 AES 有五种加密模式:电码本模式(Electronic Codebook Book (ECB))、密码分组链接模式(Cipher Block Chaining (CBC))、计算器模式(Counter (CTR))、密码反馈模式(Cipher FeedBack (CFB))和输出反馈模式(Output FeedBack (OFB))

密码学
https://blog.zhequtao.com/posts/golang/go-new/rsa/
作者
阿俊
发布于
2020-11-16
许可协议
CC BY-NC-SA 4.0

相关阅读