密码学

应用程序关于用户隐私数据有两个原则:
1. 不能在网络上 " 明文 "传递用户隐私数据
2. 不能在本地 " 明文 "保存用户的隐私数据
 
1. Base64
================================================================
1> Base64 - 网络上使用最为广泛的一种编码方式!
2> 能够对任何 " 二进制数据 "进行编码,结果只有 65个字符
    09, a~z, A~Z, +, /, =
3> 编码之后,就能够通过 URL 就传递二进制数据!
加密算法
          一、散列算法
散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。这个固定长度的输出称为原输入消息的“散列”或“消息摘要”

 - MD5 32位字符串(国内使用非常多!不安全)
    - SHA1 40位字符串
    - SHA256
- SHA512
 
MD5 的破解  www.cmd5.com
 
 
    解决办法
    - 加 " "(佐料) ,盐要够长,够复杂,保密!
    - HMAC + MD5(HASH)
        使用一个秘钥,对密码进行加密,然后在进行 HASH,要做两次 HASH
 
- 版权方面(不能用 MD5 / SHA1)
        HASH 是采集数据摘要(指纹),可以判断两个文件是否一致!
 
        用处:例如视频版权! "youtube.com"
 
        SHA256 对上传的视频进行 HASH,可以用来识别文件是否被修改过!
 
       一、对称加密算法(传统的加密算法)
在加密、解密过程中使用相同的秘钥
    优点
       算法公开、计算量小、加密速度快、加密效率高
    缺点
       双方使用相同钥匙,安全性得不到保证
    DES     数据加密标准
3DES    使用 3个密钥对同一个数据块进行三次  加密,强度更大,算法是一致的
AES     " 高级 "加密标准(使用最多的)苹果的钥匙串使用的  AES 256 的加密!
 
加密方式
    -ECB        电子密码本
    -CBC        密码块链
 
 
 
 
 
三、非对称性加密算法
 
   
 (RSA)
 
非对称加密算法
------------------------------------------------------------------------------------------
 
非对称:加密和解密使用不同的密钥
 
特点:
-用公钥加密就用私钥解密
-用私钥加密就用公钥解密
 
最有代表性的算法就是 RSA。
 
RSA 算法最明显的特点:运算速度超级慢!通常不适合做对大的数据做加密!
(1) 找出两个“很大”的质数:P & Q
(2) N = P * Q
(3) M = (P – 1) * (Q – 1)
(4) 找出整数E,E与M互质,即除了1之外,没有其他公约数
(5) 找出整数D,使得E*D除以M余1,即 (E * D) % M = 1
n  经过上述准备工作之后,可以得到:
n  E是公钥,负责加密
n  D是私钥,负责解密
n  N负责公钥和私钥之间的联系
n  加密算法,假定对X进行加密
n  (X ^ E) % N = Y
n  根据费尔马小定义,根据以下公式可以完成解密操作
n  (Y ^ D) % N = X
 
 
n  由于RSA算法的加密解密速度要比对称算法的速度慢很多,在实际应用中,通常采取:
(1) 数据本身的加密解密使用对称加密算法(AES/DES3)
(2) 用RSA算法加密并传输对称算法所需的秘钥
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值