加密算法的简介

1 目前的加密算法 大概分4类,严格的来说摘要函数不和转码不算加密 方式,这个在这里就不谈论了,就像 番茄是 蔬菜还是水果,没有个一定的说法。

  1. 对称加密
  2. 非对称加密
  3. 摘要函数
  4. 转码

对称加密 如:DES AES ,是一种 加密 和解密都是用相同的秘钥的加密算法。 AES 加密 比DES 加密新,也更加难破解,加密的速度也更加高。所以这两种 推荐 使用AES。

 

非对称加密:比如 RSA ECC,非对称加密,加密和解密使用不同的秘钥,两个秘钥其中一个叫做私钥,私人所有,不告知任何人,另一个叫做公钥,公钥可以给于需要它的任何人,公钥和私钥都可以加密数,

      公钥加密的数据只有对应的私钥才能解密,私钥加密的数据只有公钥才能解密。公钥加密的不能使用公钥解密,私钥加密的不能使用私钥解密。

      所以私钥加密能保证数据不被篡改(只有一个人有加密的数据的能力),公钥加密能保证数据不被修改(只有持有私钥的那个人能解密数据)。

      

      公钥加密强调数据不能被泄露(加密解密),私钥加密强调数据不可被篡改(验签解签)。

 

  

      ECC 相比 RAS 加密速度更快,密文数据更小,抗攻击能力更强,ECC对引用于移动端。

 

摘要函数: 代表MD5 ,摘要函数是不可逆的,会丢失原文。所以不能复原。是通过一定的算法在原文中抽取出一点段数据,类似文章摘要一样,摘要代表着原文,

      但是因为MD5的长度限定,所以原文的肯定比 密文个数多(原文无穷无尽,密文只有那么多个) ,同一个 密文必定对应着多个 原文,但是 一般是遇不到的。 MD5 的特点,丢失原文,不可逆,密文等长。

      MD5加密后的值是128bit的,按4位二进制组合成一个十六进制,所以最后出来的十六进制字符串是32个。

 

转码: 代表 base64  把 ASCII对应的 256 个字符 转成 64 个基础的,可见的字符,字符长度是8bit,用大小 的 8bit 一个字符(8bit但是它的有效值只有 64 种 ,只能代表6bit的数据) 去代替原文的 6bit 的数据,所以转码以后会变成长。 6和8 的公倍数24,但原文不足 3 个     字符的时候 ,密文需要使用=来位

 

   备注 base64 的 64 个字符A-Z,a-z,0-9  ,+ 和 / ,base64safe  是吧 +换成- ,/ 换成 _ ,来应对 某些不嫩更实用 + 和 / 的场景。   

 

URL转码:

    把非ASCII以外的字符和一些特殊字符替固定换成%两个16进制格式,表示一个字节,一个16进制可以表示半个字节,一个完整的字节需要2个16进制表示。比如 一个汉字 中国,UTF8编码格式下各占3个字节。%E4%B8%AD%E5%9B%BD其中  %E4%B8%AD 表示中的三个字节,%E5%9B%BD表示国的三个字节。

 

posted on 2018-07-06 17:18  zhangyukun  阅读(219)  评论(0编辑  收藏  举报

导航