加解密
自己的理解:
对称加密、非对称加密,通常都是对字节数组进行加密,加密后的值也是字节数组(byte[])
而 base64, Hex 编码,通常是用来将加密后的内容(字节数组)展示成可见字符时,用来进行编码的。
(加密 和 base64 是两个层面的问题:加密串本身是一个二进制流, base64 是为了传输和展示。)
非对称加密:
公钥加密,私钥解密。
私钥加签,公钥验签。
SM2 非对称加密
SM4 是对称加密,但是每次都可以带不同的 iv 向量进行加密,做到一次一密。也可以是固定的 iv,每次不同的 tag。
-----
大文件加密的通常做法:
使用非对称加密算法加密一个对称秘钥,放到秘钥文件中。(一次一秘)
使用对称秘钥加密文件内容
(对称加密效率更高,但是秘钥不安全。非对称加密秘钥串,做到一次一秘,更安全)
------
常用的对称加密算法:
AES, DES,SM4
常见的非对称加密算法:
RSA, SM2
常见的摘要(哈希)算法: (用于数据签名,数据完整性校验)
MD5, SHA-256
https://blog.csdn.net/new9232/article/details/122670049