常见加密算法和编码

常见加密算法

对称加密

对称加密是加密和解密使用相同密钥的加密算法,加密解密的速度快,一般用于数据的加密。常见的有:DES、RC4和AES

非对称加密

非对称加密是加密和解密使用不同密钥的加密算法,也称为公私钥加密。交换数据时,一方用公钥加密,另一方用私钥解密,公钥是可以公开的,用户只要保管好自己的私钥即可。非对称加密加解密速度要远远低于对称加密,但很难破解,一般用于对密钥的加密。常见的有:RSA、DSA

Hash算法

Hash算法是一种单向算法、不可逆的算法,可以对信息生成一段特定长度的唯一的Hash值。一般用于不可还原的密码存储、信息完整性校验。常见的有:MD5、SHA-256

对于加密算法一般采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据。

常见的编码

  • ASCII 码
    美国人发明的,用1个字节的低 7 位表示,总共有 128 个,对于键盘上的字符足够了,一个字符用一个字节表示。
  • ISO-8859-1
    欧洲人用的,用1个字节8位表示,总共256个,也是一个字符用一个字节表示。
  • GB2312
    国人自己的,用2个字节编码表示,总的编码范围是 A1-F7。其中从 A1-A9 是符号区,总共包含 682 个符号,从 B0-F7 是汉字区,包含 6763 个汉字。
  • Unicode
    (”Universal Multiple-Octet Coded Character Set”,简称 UCS)又叫万国码,包含地球上的所有字符,它是字符集合,规定了字符的表示形式,但不包含字符的存储形式。例如:汉字 的 Unicode 是十六进制数4E25,这个符号的表示至少需要2个字节,也可以用3个字节或者4个字节,甚至更多,这就取决于编码的存储形式。
  • UTF-8
    在互联网上使用最广的一种 Unicode 的实现方式。它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

Base64和URL编码

  • Base64
    Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据,由大小写字母、数字、+和/ 64个字符组成。将二进制文件3个字节作为一个处理单元,分为4个字节,每个字节6位,即3个字节可由4个可打印字符来表示。编码时肯定会出现数据不是3的倍数,Base64编码会采用0补全,最后末尾添加n个 “=”表示 补了几个字节的0。常见于URL中二进制图片的传递。
  • URL编码
    由于url只能使用英文字母、数字和某些标点符号,不能使用其他文字和符号,比如中文。例如:的UTF-8编码分别是E6 98 A5,每个字节前面加一个%因此,最后 url编码得到"%E6%98%A5;当然如果浏览器采用其他编码形式结果又会不同。如:GB2312编码是B4 BA,最后得到%b4%ba

数字签名和数字证书

可以查看阮老师的数字签名是什么?

  • 数字签名
    简单说就是对数据进行信息摘要后再用私钥加密而成。
  • 数字证书
    用户为了确认服务器的公钥,服务器把自己的公钥给到证书机构(certificate authority,简称CA),CA将服务器的公钥和其他信息 使用Hash信息摘要以后再用CA自己的私钥加密生成 数字证书 发给服务器。服务器再把这个数字证书给到用户(浏览器)。CA的公钥怎么确认?一般比较著名的机构的公钥都在"受信任的根证书颁发机构"列表中,浏览器自动会在里面查询获得。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值