密钥与密码的区别
用法:
密码 只是把文档放到保险箱 ,然后上锁不让人访问, 想看的时候 在用密码打开保险箱取出文件
密钥 用于加密文档 把一个文档改的面目全非,完全看不出原来的样子
当然密钥也可以解密文档, 把文档从乱七八糟的状态变成原来的样子
比喻:
密码是开门的钥匙 ,
而密钥就像翻译官,把一种大家都知道的文字翻译成看不懂的文字,再把看不懂的文字翻译回来
功能上区别 :
密码时防止入侵,而密钥是防止解读
密钥
密钥的组成包含: 算法 ,盐 ,长度, 随机密钥
算法: 就是制作密钥的工艺流程, 不同的算法意味着加密和解密的流程工艺不同
长度: 也可以认为是算法的复杂度
随机密钥字符串: 是一串限定了长度的随机字符串,配合算法使用,算法是固定的, 密钥有亿万
我们用 算法.加密(明文,密钥) 或 算法.解密(明文,密钥) 方式来实现加密和解密
盐: 就是算法额外参数, 通常也是一串字节长度一定的字符串
随机密钥字符串 和盐都是算法的参数
盐的目的是 明文加密时, 即使每一次用同一把密钥加密, 但密文都不同,
而且解密的时候及时针对不同的密文,却一样能解出相同的明文
密钥的加密工作原理:
加密时, 加密算法一定的前提下, 调节加密算法的参数, 可以输出不同的加密的结果
我们拿到手里的密钥其实只是 随机密钥字符串
密钥分为非对称密钥和对称密钥
对称密钥只有一个密钥 , 而非对称密钥是有两个密钥组成的密钥对
对称密钥的工作:
A密钥加密的文本,必须用A密钥解开
非对称密钥的工作:
A密钥加密的文本, 必须用B密钥解开,A不能解开;
B密钥加密的文本, 必须用A密钥解开,B不能解开
对称密钥加密解密速度快,明文长度不受限制
非对称密钥加密解密速度慢,明文长度受限制
非对称的本质其实是质数
利用大质数=小质数1*小质数2 ,且大质数,小质数1,小质数2 都是唯一的 来实现
具体不展开
</