Python md5与sha1加密算法用法分析

Python md5与sha1加密算法用法分析

简介

md5和sha1是两种常用的加密算法,可以用于加密密码、保护数据安全等等。Python中提供了标准库hashlib来支持这两种算法。该库支持多种加密算法,除了md5和sha1之外还包括sha256、sha512等算法。

md5加密算法

首先,我们需要将要加密的字符串转换为二进制格式。可以用encode()函数将字符串转换为bytes类型。

import hashlib

# 加密字符串
mystr = 'Hello world!'
# 转码,并用md5加密
m = hashlib.md5()
m.update(mystr.encode('utf-8'))

# 打印加密后的结果
print(m.hexdigest())

输出结果:

3e25960a79dbc69b674cd4ec67a72c62

下面的代码展示了如何将加密封装成一个函数。该函数可以加密传入的任意字符串,并返回加密之后的结果。

import hashlib

def md5_encrypt(str):
    # 创建md5对象
    m = hashlib.md5()
    # 转码,并加密
    m.update(str.encode('utf-8'))
    # 返回加密结果
    return m.hexdigest()

# 测试用例
print(md5_encrypt('Hello world!'))

输出结果:

3e25960a79dbc69b674cd4ec67a72c62

sha1加密算法

使用sha1加密算法与使用md5加密算法的方法类似,只需要将md5替换为sha1即可。下面的代码给出一个加密任意字符串的函数。

import hashlib

def sha1_encrypt(str):
    # 创建sha1对象
    s = hashlib.sha1()
    # 转码,并加密
    s.update(str.encode('utf-8'))
    # 返回加密结果
    return s.hexdigest()

# 测试用例
print(sha1_encrypt('Hello world!'))

输出结果:

2ef7bde608ce5404e97d5f042f95f89f1c232871

结论

以上就是Python中使用hashlib库进行md5和sha1加密的方法。需要注意的是,加密后的结果并不能通过反向解密还原出原始的字符串。所以在加密密码等敏感信息时,需要保证加密算法的安全性,以保证数据的安全。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python md5与sha1加密算法用法分析 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 云计算OpenStack核心组件—keystone身份认证服务(5)

    一、Keystone介绍:   keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证、令牌的发放和校验、服务列表、用户权限的定义等等。云环境中所有的服务之间的授权和认证都需要经过 keystone. 因此 keystone 是云平台中第一个即需要安装的服务。 作为 OpenStack …

    2023年4月9日
    00
  • 乐视视频借力开源技术处理大数据的经验分享

    乐视视频借力开源技术处理大数据的经验分享 背景 随着视频业务的高速发展,乐视视频所面对文件、数据量的增长异常迅猛,针对这种状况,乐视视频利用开源技术进行处理和分析大数据,大大提高了效率。在本篇文章中,我们将分享乐视视频处理大数据的经验和技巧。 开源技术的使用 乐视视频在处理大数据方面,主要采用了以下几个开源技术: Hadoop:处理大数据的首选技术之一,具有…

    云计算 2023年5月17日
    00
  • Python制作数据预测集成工具(值得收藏)

    Python制作数据预测集成工具 本文将详细讲解如何使用Python制作数据预测集成工具。这个工具将能够根据多个模型的结果进行集成预测,并得到更准确的预测结果。该工具不仅方便了数据科学家对数据进行快速建模,而且还可以为业务决策提供更好的支持。以下是详细的操作步骤。 准备工作 在开始前,需要安装以下的Python库: Pandas Matplotlib Num…

    云计算 2023年5月18日
    00
  • SLAM+语音机器人DIY系列:(七)语音交互与自然语言处理——3.自然语言处理云计算引擎

    摘要                                                     这一章将进入机器人语音交互的学习,让机器人能跟人进行语音对话交流。这是一件很酷的事情,本章将涉及到语音识别、语音合成、自然语言处理方面的知识。本章内容: 1.语音交互相关技术 2.机器人语音交互实现 3.自然语言处理云计算引擎 3.自然语言处理云计算…

    云计算 2023年4月10日
    00
  • 【行业应用】阿里云实时计算 Flink 版 IoT 行业解决方案

    行业挑战 物联网(Internet of Things,以下简写为 IoT)是互联网、传统电信网等资讯的承载体,能让所有具备独立功能的普通物体实现互联互通的网络。物联网将现实世界数位化,应用范围十分广泛。物联网拉近分散的资讯,统整物与物的数位信息,主要应用领域包括以下方面:运输和物流领域、健康医疗领域、智慧环境(家庭、办公、工厂)领域、个人和社会领域等,具有…

    云计算 2023年4月12日
    00
  • ASP.NET WebAPI连接数据库的方法

    ASP.NET WebAPI是一种创建 Web服务的框架,通过它可以轻松地创建RESTful API并支持传输多种数据格式。连接数据库是开发WebAPI的重要一步,下面将详细讲解ASP.NET WebAPI连接数据库的方法。 1.创建数据库 使用ASP.NET WebAPI连接数据库,首先需要创建一个数据库。可以使用SQL Server Management…

    云计算 2023年5月17日
    00
  • 在Python中操作字典之setdefault()方法的使用

    当我们需要在Python中操作字典时,setdefault()方法可以提供一个方便的方式来获取字典中的值,同时也可以在字典中新增键值对。以下是使用setdefault()方法的完整攻略: 1. setdefault()方法的基本语法 setdefault()方法是字典类dict的一个方法,它的基本语法如下所示: dict.setdefault(key, de…

    云计算 2023年5月18日
    00
  • 云计算定义

    Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a sharedpool of configurable computing resources (e.g., networks, servers, storage, appl…

    云计算 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部