面试问到RSA了,大脑有些空白,查漏补缺吧
什么是RSA
RSA算法是一种非对称的加密算法,所谓非对称,就是指算法需要一对密钥,使用其中一个加密,则需要另一个才能解密。密钥分为公钥和私钥,私钥自己保存,公钥提供给对方。
RSA签名验签
使用私钥将明文进行签名生成密文串与明文一起传输。对方收到数据后使用公钥和密文串进行验签。如果验签通过就说明就说明第一数据没有被修改过;第二这些数据一定是持有私钥的人发送的,因为私钥只有自己持有,起到防抵赖的作用。
验签过程
1.调用方在请求过程中传递authId(授权编号),sign
2.使用AOP在执行实际方法前根据authId获取公钥,进行验签。
3.验签通过就继续执行。