加解密&编解码

算法组算法名称简要介绍是否对称算法(秘钥是否是一个)是否可逆用途
摘要算法
哈希算法
MD5Message 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)
不涉及秘钥不可逆 
HmacSHA1HMAC(Hash-based Message Authentication Code),秘钥相关的哈希运算消息认证码,HMAC运算利用哈希算法,以一个秘钥和一个消息为输入,生成一个消息摘要作为输出。可以看出,HMAC是需要一个秘钥的。所以HMAC-SHA1也是需要一个秘钥的,而SHA1不需要。   
HmacSHA256    
加密算法DESData 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
对称可逆 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值