摘要与签名

    摘要算法主要是对一串数据(原始数据)生成固定长度的字符串(摘要)。它是一种不可逆的操作,即通过摘要不能获取到原始数据(彩虹表不算是解密),因为摘要操作会丢失数据的原始信息。常见的摘要算法有:MD5,SHA等。
    记得刚开始工作的时候,提供的http接口校验token就是MD5,双方使用相同的salt,如果md5一致 就说明签名合法。
    现在对接一些厂商的接口时发现签名都用SHA1withRSA(或更高版本)了。心想使用MD5不行么?反正也只有我知你知。除了MD5本身安全性的问题,还有一个就是MD5没法验证身份。虽然只有你知我知,但是我是可以伪造你的请求的。所以之前的md5的方式只是一个摘要验证,不是签名。签名是代表了具体是哪个人的,别人是不能伪造的。即便是A调B的接口,B是没法伪造的,因为只有A知道密钥。
    SHA1withRSA是签名算法。具体流程是对数据先SHA获取到散列码,然后进行相关的补齐操作,然后再进行RSA得的加密操作。RSA是非对称加密的方式,在签名场景中,没必要对所有数据进行加密,只需要对sha生成的短小的数据进行加密就可以了。接收方使用对应的公钥进行验签就可以了。这样的请求也只有拥有密钥的一方才能发送出来,任何人都伪造不了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值