密码学

2018-06-10  本文已影响0人  抹不掉那伤1

密码编码学:

密码使用学 密码分析学

网络开发准则

破解方法

56-64位:几个小时甚至几天
112-128位:量子计算机
大于256位:量子计算机也破解不了

加密方法

md5
SHA1
SHA265/512

DES
3DES
AES()

RSA加密算法(因式分解)

散列函数

特点

MD5用途

终端:md5 -s '要加密的字符串'
1、只用md5加密时服务器不需要知道用户的真实密码,数据后只保存
2、搜索
3、版权(将下载文件人的用户名和下载文件的md5值绑定)
4、文件完整性校验(下载文件校验、上传(断电续传))
5、秒传(用户删除上传的文件,服务器并不删除,用户再次上传时用md5查询是否上传过)

加盐

HMAC

原理:

给定一个密钥,对明文和密钥拼接,再做两次md5的计算。
为了安全添加时间戳到密匙。

密钥获取途径

密码学 进阶

1.指纹识别
iphone 5S 以后开始推出指纹识别
iOS 8.0时候,开放指纹识别

002-登录业务逻辑完善
在网络开发中,我们一般会把一个单例来负责网络请求!
将网络登录部分抽取出来。

问题:1.登录什么时候运行最合适?

加密部分

==加密算法==
--Hash 散列函数
不可逆!密码识别,文件识别

问题:
1.加密运用场景最多的地方?
军事!
2.加密算法是不是都应该不可逆?
不是!

明文——加密-密文
密文-解密-明文

2种加密的方式

ECB:把每一个数据块独立加密,最后再拼接。解密也是同样的道理。先拆分数据块,独立解密
CBC:加密每一个数据块,都会与上一个数据块之间有联系;密码块链,使用密钥和一个向量对数据执行加密转换。能够保证密文的完整性,如果一个数据改变了,后面数据都会造成破坏!

openssl enc -des-ecb -K 616263 -nosalt -in abc.txt -out msg1.bin
注:
    openssl 为一个开源的加密库
    enc 加密方法
    -k 密匙
    -nosalt 不加盐

more "文件名": 打印文件内容
xxd "文件名": 打印文件的16进制数

openssl enc -des-cbc -iv 0102030405060708 -K 616263 -nosalt -in abc.txt -out msg4.bin
上一篇 下一篇

猜你喜欢

热点阅读