优化系列 08:加密

Published: 13 Aug 2017 Category: 优化

加密原因

  • 防止源码泄露(反编译)
  • 抓包(Chareles)
  1. 单向加密算法
    • 特点: 1、 对同一消息反复执行加密得到相同的密文。 2、加密算法生成的密文不可预见,和明文没任何关系。 3、 明文的任何微小的变化都会对密文产生很大影响。 4、不可逆,即不能通过密文获取明文。 比较流行的加密算法:MD5和SHA1。MD5与SHA1都是Hash算法,两个相比。MD5输出是128位的,SHA1输出是160位的,MD5比SHA1快,SHA1比MD5强度高。
  2. 对称式加密算法
    • 对称加密算法的特点是:
      1. 使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,要求解密方事先必须知道加密密钥。
      2. 它的优点是:算法公开、计算量小、加密速度快、加密效率高。
      3. 缺点是:双方都使用同样钥匙,安全性得不到保证。每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。 常见的对称加密算法有:DES、3DES、AES等。
  3. 非对称式加密算法
    • 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
      1. 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。简单的说是“公钥加密,私钥解密;私钥加密,公钥解密”。
      2. 常见的非对称加密算法有:RSA。值得一提的是,RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。