对称加密和非对称加密解密技术
数据安全加密技术
百度百科解释:所谓数据加密(Data Encryption)技术是指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。
通俗的理解就是把一些需要加密的东西经过枷锁,防止其它人观看,只有拿着这把锁钥匙的人才可以打开这把锁,锁的钥匙相当于公钥、私钥,锁相当于加密函数。
常用的加密类型
对称加密
首先必须将待加密的数据,以及加密时所使用的密钥提供给加密算法进行加密,而加密之后的内容就变成一堆无法阅读的数据;阅读这些数据时,需要将加密过的数据及解密时所需要的密钥提供给解密算法,这样才能还原出数据。
优点:
加密速度快,占用的CPU运算资源较少。
缺点:
对称加密的最大缺点是密钥传输不便。若加密者和数据接受者位于不同的地理位置,则密钥的传输很有可能被别人截获。
优点:
加密速度快,占用的CPU运算资源较少。
缺点:
对称加密的最大缺点是密钥传输不便。若加密者和数据接受者位于不同的地理位置,则密钥的传输很有可能被别人截获。
非对称加密
公钥系统中,文件的接受者必须拥有一对密钥,分别是公钥(Public Key)和私钥(Private Key)。这两种密钥有一个很重要的特性,就是都可以用来加密数据,而且解密后的数据就只能使用另一半来解密。例如,使用公钥加密后的数据,就只有私钥能解密;而使用十月加密后的数据,就只有公钥才能解密。所以从公钥的字面意义看,它应该是可以让他人轻易获得的,但是私钥就改严密保管。
优点:
非对称加密不存在密钥传送问题,比对称式更安全。
缺点:
消耗的CPU资源比较多。
优点:
非对称加密不存在密钥传送问题,比对称式更安全。
缺点:
消耗的CPU资源比较多。
加密原理
对称加密的原理比较容易理解些,两个加密解密方法需要提供加密数据以及密钥才能解密,加解密用的都是同一个密钥因此需要传输密钥显得不够安全,后来发展的非对称加密可以说是对对称加密的补充和完善。
非对称加密需要两个密钥;分别为私钥和公钥、以及私钥加密、私钥解密、公钥加密、公钥解密、私钥生成数字签名、公钥验证签名这六个方法,验证流程如下:
流程分析:
![](//img-blog.csdn.net/20150127213925359?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlsb25nc2hlbmcxMTI1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
- 甲方构建密钥对儿,将公钥公布给乙方,将私钥保留。
- 甲方使用私钥加密数据,然后用私钥对加密后的数据签名,发送给乙方签名以及加密后的数据;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。
- 乙方使用公钥加密数据,向甲方发送经过加密后的数据;甲方获得加密数据,通过私钥解密。
正如上面的图所示,两种方式的主要区别是加解密使用不同密钥,其它是一些细节区别是一样的。
网络充值过程加密
在网络上面传输的数据大部分是需要加密的数据,有时候即使我们截取到发送的数据包也无法拿到真实的数据,我做的是关于网关充值需要调用第三方的接口来冲钱,也就是往自己所在平台账户中充钱,比如支付宝上面的充值我们充值调用的是第三方、第三方调用银行的接口,完成转账行为,我们的钱是到了支付宝自己在银行开的账户中,然后,在它的平台上面更新自己账户中的钱。
充值流程:
待续……