编程学习固予iOS新技术

iOS加密

2016-06-30  本文已影响165人  十一遥

什么是加密?

加密 = 算法 + 钥匙

base64只是编码,不能归类于加密,base64编码原理

算法是固定且公开的那么些种,大家都知道, 所以为了保证加密的安全性,就需要保证钥匙的安全性.

常用三种加密算法: 对称算法, 非对称算法, 散列算法.

  1. 对称算法
    加密解密都使用相同的秘钥
    速度快,适合对大数据加密
    常见类型: DES,3DES,AES

对称算法

一把固定的钥匙

举个例子 : 假如我的原文是:100 ,算法是:+ ,钥匙是200;
那么我的加密过程就是:100 + 200 ,密文就是:300;

加密过程:

原文 算法 钥匙 密文
100 + 200 300

解密过程:

密文 算法 钥匙 密文
300 - 200 100

非对称算法

有公钥私钥两把不同钥匙:
你有公钥和私钥就是两把钥匙,给自己留下的就叫私钥, 给别人的就叫公钥. 两把钥匙你可以任意取舍

举个例子:假如我的原文是:100 ,算法是:+ ,两把钥匙分别是:(100+100),(80+120). 随机选择一把钥匙留给自己.

加密过程:

原文 算法 私钥 密文
100 + (100+100) 300

解密过程:

密文 算法 公钥 密文
300 - (80+120) 100

普遍加密

普遍加密出现的原因:公钥加密的时候秘钥也是通过网络发送的,当秘钥被截取后,密文也就会被破解, 但若采用非对称加密,对于大文件,加密耗时太久,效率低下,因而使用非对称加密的方式,只加密对称加密的钥匙,就解决了这个问题.

过程描述:
举个例子:大牛要给小鹿发个视频, 大牛先向小鹿获取小鹿的公钥, 用公钥把自己的对称加密钥匙加密了. 然后把加密后的钥匙,发给小鹿. 把自己的视频用对称加密方式加密后发给小鹿. 小鹿收到加密的钥匙后,用自己的私钥解密大牛大钥匙. 再用大牛的钥匙解密大牛的视频.

上图说明:


普遍的加密

两次非对称加密,和散列算法懒得动了,以后更新.

散列算法

散列算法主要用到的加密有MD5加密,MD5加密也叫指纹加密,理论上不能完全保证,加密的唯一性,但这种结果太微乎其微了,所以,MD5加密在实际使用中,值是唯一的。

基于MD5加密的加强版主要有, MD5加盐 , hmc加密, 还有 HMC+时间的MD5

有别于对称加密和非对称加密,MD5加密是不可逆的,也就是说,用MD5加密后的东西,无法被还原

比如用户的支付密码等重要信息,前面的加密虽然可以保证在传输中的安全,但无法阻止公司内部员工监守自盗。

因而采用MD5加密,内部员工也只知道MD5加密后的字符,无法探究密码,从而保证了特别重要,且无需还原数据在传输和使用上的安全性。

上一篇下一篇

猜你喜欢

热点阅读