趣谈HmacSHA1和原生SHA1的区别

本文通过一个有趣的表白故事,解释了HmacSHA1和SHA1加密的区别。SHA1算法可能被篡改消息,而HMAC通过密钥确保消息完整性,防止中间人攻击。了解HMAC的重要性,保护信息安全。
摘要由CSDN通过智能技术生成

首先来看一段HmacSHA1加密和SHA1加密的代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
Created on 1/31/18 10:03 AM
@author: Chen Liang
@function: HmacSHA1 vs SHA1
"""

import sys

reload(sys)
sys.setdefaultencoding('utf-8')
import hashlib
import hmac


def sha1(msg):
    """
    sha1加密
    :param msg:
    :return: 长度40位的摘要信息
    """
    sha = hashlib.sha1()
    sha.update(msg)
    return sha.hexdigest()


def hmac_sha1(key, msg):
    """
    hmac sha1加密
    :param key: 密钥
    :param msg: 待加密消息
    :return: 长度40位的摘要信息
    """
    m = hmac.new(key, msg, hashlib.sha1)
    return m.hexdigest()


print hmac_sha1('FKEwTiz9Te0FWlqkS4g8hEdqAsPZfdR4', 'me')
print sha1('me')

输出结果为

1db0e9132a8dff51e3a4d47497e29a500087da9a
b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8

从结果中可以发现,HmacSHA1算法和SHA1算法都

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值