算法组 | 算法名称 | 简要介绍 | 是否对称算法(秘钥是否是一个) | 是否可逆 | 用途 |
摘要算法 哈希算法 | MD5 | Message Digest Algorithm5 消息摘要算法,哈希算法 可以保证数据的完整性 不管多长的数据,都可以生成128位(16个字节)的散列值 | 不涉及秘钥 | 不可逆 | |
SHA-1 | 安全哈希算法(Secure Hash Algorithm) 适用于长度不超过2^64二进制位的消息 输出散列值固定长度:20个字节(160bit) | 不涉及秘钥 | 不可逆 | ||
SHA-224 | 适用于长度不超过2^64二进制位的消息 输出散列值固定长度:28个字节(224bit) | 不涉及秘钥 | 不可逆 | ||
SHA256 | 适用于长度不超过2^64二进制位的消息 输出散列值固定长度:32个字节(256bit) | 不涉及秘钥 | 不可逆 | ||
SHA384 | 适用于长度不超过2^128二进制位的消息 输出散列值固定长度:48个字节(384bit) | 不涉及秘钥 | 不可逆 | ||
SHA512 | 适用于长度不超过2^128二进制位的消息 输出散列值固定长度:64个字节(512bit) | 不涉及秘钥 | 不可逆 | ||
HmacSHA1 | HMAC(Hash-based Message Authentication Code),秘钥相关的哈希运算消息认证码,HMAC运算利用哈希算法,以一个秘钥和一个消息为输入,生成一个消息摘要作为输出。可以看出,HMAC是需要一个秘钥的。所以HMAC-SHA1也是需要一个秘钥的,而SHA1不需要。 | ||||
HmacSHA256 | |||||
加密算法 | DES | Data Encryption Standard数据加密标准 | 对称 | 可逆 | |
DES3 | 对称 | 可逆 | |||
RSA | 公钥加密算法(RSA是三个人的名字中的某个字母) | 非对称 | 可逆 | 公钥和私钥是一对。用公钥加密后,可以用私钥解密;用私钥加密后,可以用公钥解密。 | |
BASE64 (不属于加密,只能算是一种编码转换) | BASE64是网络上最常见的用户传输8Bit字节代码的编码方式之一。 比如现在有一些“8bit的二进制数据(可能是图片,也可能是字符串)”需要在网络上传递,可以将这些“8bit的二进制数据”进行BASE64编码后再到网上传递,接收端接收后进行BASE64解码。 | 对称 | 可逆 | 为什么要做BASE64编码? 因为编码是128到255的ascii是不可见字符,在网络上传递时会经过很多路由设备,这些路由设备对不可能字符的处理方式不同,会导致错误,所以需要事先将这些不可见字符转成可见字符进行传输。 | |
URL编码 | URL编码(URL encoding),也称作百分号编码(Percent-encoding),是特定上下文的统一资源定位符 (URL)的编码机制。 将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。 比如: 空格ASCII码是32,对应16进制是20,那么urlencode编码结果是:%20 比如: 中ASCII码是-10544,对应的16进制是FFFFFFFFFFFFD6D0,那么urlencode编码结果是:%D6%D0 | 对称 | 可逆 |
加解密&编解码
最新推荐文章于 2022-07-24 11:48:02 发布