学习最好的方式是向别人解释,关于如何学习进阶,请看我这篇文章如何从小工到专家——Dreyfus模型应用 。下面我试着解释这三个概念。
1)对称加密:对明文的加密和解密使用同一组密钥。优点是加密速度快,缺点是需要事先交换密钥。
2)非对称加密:密钥是以一对的方式出现的,成为公钥和私钥。有两种应用场景:
a.加密。A如果想把信息加密后给B,A只要使用B提供的公钥进行加密即可,只有B有私钥才能解密这些信息,这就实现了信息你加密的功能。
b.签名。签名是为了防抵赖性。A用自己的私钥进行签名,其他人如果能用其提供的公钥解密,就证明A的确是该信息的持有人,也就验证了A的身份。
3)散列。散列又称单向函数。一组子串经单向函数作用后,生成一组固定位数的字串,这个过程是不可逆的。子串中任何一位发生变化,那么生成的散列串中,每一位变化的概率均为50%。HMAC是一种散列算法,它是一种将共享密钥和散列结合起来的算法。