zoukankan      html  css  js  c++  java
  • 浅谈加密算法

      常用的加密算法有对称加密和非对称加密,对称就是用加密的公式的算法的逆运算来解密,其安全性相对于非对称加密低。
    非对称就是  加密的时候用一套算法,解密的时候不是加密算法的逆运算,而是不搭边的另一套(借用流行的一句话叫做不按套路出牌)。
    下文是比较具体的介绍!
     
          在对称加密算法中常用的算法有:DES3DES、TDEA、Blowfish、RC2、RC4、RC5IDEA、SKIPJACK、AES等。
    不同算法的实现机制不同,可参考对应算法的详细资料。
     
          对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。
    对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。
     
          对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。
       
     
         与对称加密算法不同,非对称加密算法需要两个密钥公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法
     
    非对称加密中使用的主要算法有:RSAElgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。
     
         对于公司的网站或者app,如果是普通的,那么随便搞个md5加密就行了,而对于有特殊要求的app,比如支付宝、公司钱包等,这些涉及到钱的东西的加密措施就要注意了,用普通的加密方式很容易被黑客截获用户数据,一不小心就会给企业带来巨大损失(用户的钱在你的app中丢了,如果还想继续经营,你自然要赔)。 当涉及到这种金融方面的时候,就要用专业的加密,常用的有硬件加密和软件加密。硬件加密主要是加密机加密。软件加密当然就是程序算法加密了,不过这两种方式都要通过加密公司获得(除非你本身就是个加密公司),需要用钱买的。
     
      特殊加密的价格方面,一般一个加密控件以万元为单位计算,一套完整的加密系统有些甚至高达百万或更多。
     
      未完待续。。。
  • 相关阅读:
    转char varchar nvarchar区别
    NHibernate和Spring.Net框架介绍(一)
    ASP.NET面试题(一)
    存储过程编写经验和优化措施
    软件工程师不可不知的10个概念
    优化数据库前问自己的10个问题
    ZOJ 1610 Count the Colors (线段树)
    POJ 3667 Hotel (线段树)
    HDU Best Reward (扩展KMP)
    POJ 3277 City Horizon (线段树)
  • 原文地址:https://www.cnblogs.com/isItOk/p/4928972.html
Copyright © 2011-2022 走看看