广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python对称和非对称密码怎么实现
  • 415
分享到

python对称和非对称密码怎么实现

2023-06-30 15:06:21 415人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“python对称和非对称密码怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python对称和非对称密码怎么实现”吧!对称密码术在此类型中,加密和解密进程使用相同的

这篇文章主要讲解了“python对称和非对称密码怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python对称和非对称密码怎么实现”吧!

对称密码术

在此类型中,加密和解密进程使用相同的密钥.它也被称为秘密密钥加密.对称加密的主要特征如下:

  • 它更简单,更快.

  • 双方以安全的方式交换密钥.

缺点

对称密码术的主要缺点是如果密钥泄漏给入侵者,则可以轻松更改消息,这被视为风险因素.

数据加密标准(DES)

最流行的对称密钥算法是数据加密标准(DES),Python包含一个包含DES算法背后的逻辑的包.

安装

在Python中安装DES包 pyDES 的命令是 :

pip install pyDES

python对称和非对称密码怎么实现

DES算法的简单程序实现如下<

import pyDesdata = "DES AlGorithm Implementation"k = pyDes.des("DESCRYPT", pyDes.CBC, "\0\0\0\0\0\0\0\0", pad=None, padmode=pyDes.PAD_PKCS5)d = k.encrypt(data)print "Encrypted: %r" % dprint "Decrypted: %r" % k.decrypt(d)assert k.decrypt(d) == data

它调用变量 padmode ,它根据DES算法实现提取所有包,并以指定的方式进行加密和解密.

输出

您可以看到以下输出作为上面和下面给出的代码的结果;

python对称和非对称密码怎么实现

非对称加密

它也被称为公钥加密.它以对称加密的相反方式工作.这意味着它需要两个密钥:一个用于加密,另一个用于解密.公钥用于加密,私钥用于解密.

缺点

  • 由于其密钥长度,它的加密速度较低.

  • 密钥管理至关重要.

以下Python中的程序代码说明了使用RSA算法进行非对称加密的工作及其实现 :

from Crypto import Randomfrom Crypto.PublicKey import RSaimport base64def generate_keys():   # key length must be a multiple of 256 and >= 1024   modulus_length = 256*4   privatekey = RSA.generate(modulus_length, Random.new().read)   publickey = privatekey.publickey()   return privatekey, publickeydef encrypt_message(a_message , publickey):   encrypted_msg = publickey.encrypt(a_message, 32)[0]   encoded_encrypted_msg = base64.b64encode(encrypted_msg)   return encoded_encrypted_msgdef decrypt_message(encoded_encrypted_msg, privatekey):   decoded_encrypted_msg = base64.b64decode(encoded_encrypted_msg)   decoded_decrypted_msg = privatekey.decrypt(decoded_encrypted_msg)   return decoded_decrypted_msga_message = "This is the illustration of RSA algorithm of asymmetric cryptography"privatekey , publickey = generate_keys()encrypted_msg = encrypt_message(a_message , publickey)decrypted_msg = decrypt_message(encrypted_msg, privatekey)print "%s - (%d)" % (privatekey.exporTKEy() , len(privatekey.exportKey()))print "%s - (%d)" % (publickey.exportKey() , len(publickey.exportKey()))print " Original content: %s - (%d)" % (a_message, len(a_message))print "Encrypted message: %s - (%d)" % (encrypted_msg, len(encrypted_msg))print "Decrypted message: %s - (%d)" % (decrypted_msg, len(decrypted_msg))

输出

你可以找到执行上面给出的代码时减去输出;

python对称和非对称密码怎么实现

感谢各位的阅读,以上就是“python对称和非对称密码怎么实现”的内容了,经过本文的学习后,相信大家对python对称和非对称密码怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: python对称和非对称密码怎么实现

本文链接: https://www.lsjlt.com/news/330066.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python对称和非对称密码怎么实现
    这篇文章主要讲解了“python对称和非对称密码怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python对称和非对称密码怎么实现”吧!对称密码术在此类型中,加密和解密进程使用相同的...
    99+
    2023-06-30
  • python密码学对称和非对称密码教程
    目录对称密码术缺点数据加密标准(DES)安装输出非对称加密缺点输出在本章中,我们将详细讨论对称和非对称密码术. 对称密码术 在此类型中,加密和解密进程使用相同的密钥.它也被称为秘密密...
    99+
    2022-11-11
  • 对称密钥和非对称密钥有什么区别
    对称密钥和非对称密钥有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。对称密钥和非对称密钥的区别是,对称密钥加解密使用同一个密钥,非对称密钥加解密使用不用密钥;对称密...
    99+
    2023-06-14
  • java对称加密和非对称加密有什么区别
    对称加密和非对称加密是两种常见的加密算法,它们在加密和解密的过程中有以下区别:1. 密钥的数量:对称加密使用同一个密钥来进行加密和解...
    99+
    2023-09-05
    java
  • Node.js中怎么实现非对称加密
    Node.js中怎么实现非对称加密,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。加密、解密方法在Node.js中,负责安全的模块是cryp...
    99+
    2022-10-19
  • PHP中如何进行对称和非对称加密?
    在网络安全领域,加密技术是一种非常重要的技术手段,其可以将数据进行加密和解密,从而确保数据的安全性。PHP作为一种流行的服务器端编程语言,也提供了对称和非对称加密的支持,以满足不同应用场景的需求。对称加密对称加密是指使用相同的密钥进行加密与...
    99+
    2023-05-21
    加密算法 对称加密 非对称加密
  • python----RSA非对称加密算法
    最近在搞项目的接口持续性自动化测试,好久没有更新博客了。 项目中接触到很多加密相关的数据,很多项目都会用到非对称加密算法来保证前端和服务器交互的数据安全。 下面介绍下python下怎么使用RSA加密算法: import rsa (pub...
    99+
    2023-01-31
    加密算法 非对称 python
  • c# 实现RSA非对称加密算法
    目录  公钥与私钥  C#实现  公钥与私钥   公钥与私钥是成对的,一般的,我们认为的是公钥加密、私钥解密、私钥签名、公钥验证,有人说成私钥加密,公钥解密时不对的。   公钥与私钥...
    99+
    2022-11-12
  • Java 实现RSA非对称加密算法
    目录  公钥与私钥  Java实现  公钥与私钥   公钥与私钥是成对的,一般的,我们认为的是公钥加密、私钥解密、私钥签名、公钥验证,有人说成私钥加密,公钥解密时不对的。   公钥与...
    99+
    2022-11-12
  • Springboot整合JwtHelper实现非对称加密
    目录一、生成公私钥对二、利用私钥生产token三、利用公钥解密token四、将String类型的公钥转换成RSAPublicKey对象五、将String类型的私钥转换成RSAPriv...
    99+
    2022-11-13
  • java和PHP 的非对称加密RSA/ECB/PKCS1Padding和对称加密DESede/ECB/PKCS5Padding;
    非对称加解密PHP public function EnRsa($str,$public_key){ //公钥加密 $public_key = chunk_split($public_ke...
    99+
    2023-09-28
    php java 开发语言
  • python对称加密算法怎么实现
    Python中可以使用cryptography库来实现对称加密算法。以下是一个使用AES加密算法的示例:pythonfrom cry...
    99+
    2023-10-18
    python
  • Springboot如何整合JwtHelper实现非对称加密
    这篇文章主要介绍了Springboot如何整合JwtHelper实现非对称加密,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、生成公私钥对提供两种方法,一种基于命令行中的K...
    99+
    2023-06-29
  • Springboot基于BCrypt非对称加密字符串怎么实现
    这篇文章主要讲解了“Springboot基于BCrypt非对称加密字符串怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Springboot基于BCrypt非对称加密字符串怎么实现”吧...
    99+
    2023-07-05
  • Java怎么实现对称加密DES和AES
    本文小编为大家详细介绍“Java怎么实现对称加密DES和AES”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么实现对称加密DES和AES”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实验内容和要求采用...
    99+
    2023-07-05
  • 教你用Java实现RSA非对称加密算法
    目录一、非对称加密二、RSA算法三、RSA算法Java语言实现一、非对称加密 非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥...
    99+
    2022-11-12
  • java 中的非对称加密怎么利用DH方式实现
    本篇文章为大家展示了java 中的非对称加密怎么利用DH方式实现,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。实现代码:package com.sahadev;  im...
    99+
    2023-05-31
    java dh 非对称加密
  • PHP怎么使用OpenSSL加密中的非对称加密
    这篇文章主要介绍了PHP怎么使用OpenSSL加密中的非对称加密,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP的OpenSSL加密扩展学习:非对称加密生成私钥通过之前的...
    99+
    2023-06-15
  • SQLServer2008中的非对称密钥加密有什么用
    本篇内容主要讲解“SQLServer2008中的非对称密钥加密有什么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQLServer2008中的非对称密钥加密...
    99+
    2022-10-18
  • 如何使用Java实现RSA非对称加密算法
    这篇文章主要介绍如何使用Java实现RSA非对称加密算法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、非对称加密非对称加密算法是一种密钥的保密方法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作