python系列之:使用md5和sha256完成签名认证,调用接口

python系列之:使用md5和sha256完成签名认证,调用接口

  • MD5签名和sha256签名认证
  • md5认证代码
  • sha256认证代码
  • 拼接签名
  • 生成签名
  • 拼接url
  • 调用接口

MD5签名和sha256签名认证

MD5签名认证

算法特性:

  • 生成128位(16字节)的哈希值
  • 计算速度快
  • 已被证明存在碰撞漏洞(不同输入可能产生相同输出)

签名认证流程:

  • 发送方对原始数据计算MD5哈希值
  • 将哈希值附加到数据中发送
  • 接收方重新计算接收数据的MD5值
  • 比较计算值与接收的哈希值是否一致

安全性:

  • 不再推荐用于安全敏感场景
  • 容易被暴力破解和碰撞攻击

SHA256签名认证
算法特性:

  • 生成256位(32字节)的哈希值
  • 属于SHA-2家族
  • 计算速度比MD5稍慢但更安全
  • 目前尚未发现有效的碰撞攻击

签名认证流程:

  • 发送方对原始数据计算SHA256哈希值
  • 将哈希值附加到数据中发送(或使用私钥加密)
  • 接收方重新计算接收数据的SHA256值
  • 比较计算值与接收的哈希值是否一致

安全性:

  • 目前被认为是安全的
  • 广泛应用于SSL/TLS、比特币等安全协议

实际应用中的区别

你可能感兴趣的:(前端和后端开发,python系列,使用md5和sha256,完成签名认证,调用接口)