zoukankan      html  css  js  c++  java
  • 对称加密和非对称加密解密技术

    数据安全加密技术

            百度百科解释:所谓数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。
            通俗的理解就是把一些需要加密的东西经过枷锁,防止其它人观看,只有拿着这把锁钥匙的人才可以打开这把锁,锁的钥匙相当于公钥、私钥,锁相当于加密函数。

    常用的加密类型

    对称加密

            首先必须将待加密的数据,以及加密时所使用的密钥提供给加密算法进行加密,而加密之后的内容就变成一堆无法阅读的数据;阅读这些数据时,需要将加密过的数据及解密时所需要的密钥提供给解密算法,这样才能还原出数据。
            优点:
            加密速度快,占用的CPU运算资源较少。
            缺点:
            对称加密的最大缺点是密钥传输不便。若加密者和数据接受者位于不同的地理位置,则密钥的传输很有可能被别人截获。

    非对称加密

            公钥系统中,文件的接受者必须拥有一对密钥,分别是公钥(Public Key)和私钥(Private Key)。这两种密钥有一个很重要的特性,就是都可以用来加密数据,而且解密后的数据就只能使用另一半来解密。例如,使用公钥加密后的数据,就只有私钥能解密;而使用十月加密后的数据,就只有公钥才能解密。所以从公钥的字面意义看,它应该是可以让他人轻易获得的,但是私钥就改严密保管。
            优点:
            非对称加密不存在密钥传送问题,比对称式更安全。
            缺点:
            消耗的CPU资源比较多。

    加密原理

            对称加密的原理比较容易理解些,两个加密解密方法需要提供加密数据以及密钥才能解密,加解密用的都是同一个密钥因此需要传输密钥显得不够安全,后来发展的非对称加密可以说是对对称加密的补充和完善。
            非对称加密需要两个密钥;分别为私钥和公钥、以及私钥加密、私钥解密、公钥加密、公钥解密、私钥生成数字签名、公钥验证签名这六个方法,验证流程如下:
    流程分析: 
    1. 甲方构建密钥对儿,将公钥公布给乙方,将私钥保留。
    2. 甲方使用私钥加密数据,然后用私钥对加密后的数据签名,发送给乙方签名以及加密后的数据;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。
    3. 乙方使用公钥加密数据,向甲方发送经过加密后的数据;甲方获得加密数据,通过私钥解密。


            正如上面的图所示,两种方式的主要区别是加解密使用不同密钥,其它是一些细节区别是一样的。


    网络充值过程加密

            在网络上面传输的数据大部分是需要加密的数据,有时候即使我们截取到发送的数据包也无法拿到真实的数据,我做的是关于网关充值需要调用第三方的接口来冲钱,也就是往自己所在平台账户中充钱,比如支付宝上面的充值我们充值调用的是第三方、第三方调用银行的接口,完成转账行为,我们的钱是到了支付宝自己在银行开的账户中,然后,在它的平台上面更新自己账户中的钱。
           充值流程:
            待续……










  • 相关阅读:
    Mysql常用语句
    关于nginx的一个错误操作记录
    windows下安装ElasticSearch
    在IIS托管服务中设置Rewrite重定向到webapi接口
    asp.net IHttpHandler浅析
    asp.net IHttpModule浅析
    vscode 创建.net core项目初体验
    批量联表更新
    mysql 关于数据库和数据表的基本操作
    mysql Navicat客户端
  • 原文地址:https://www.cnblogs.com/lilongsheng1125/p/4978491.html
Copyright © 2011-2022 走看看