教 程 目 录
使用Python教程进行密码学
现代密码学是计算机科学项目中用于保护数据消息的一种密码学.本教程介绍了加密的基本概念及其在Python脚本语言中的实现.完成本教程后,您将能够在实际场景中关联加密的基本技术.
受众
本教程适用于渴望学习密码学基础知识及其在现实世界项目中实施的最终用户.本教程对于网络专业人员以及希望实现新框架而不是遵循传统方法的黑客也很有用.
先决条件
整个过程教程,您将学习密码学的基础知识,算法描述及其在Python中的实现.本教程的设计假设用户对密码学和算法的基础知识有所了解.如果您是这些主题的初学者,我们建议您在开始本教程之前先阅读与其相关的教程.
本文地址:https://www.itbaoku.cn/tutorial/cryptography_with_python-index.html
相关问答
大家好..... 实际上,我正在研究 .net 中的密码学及其必要性.. 我已经完成了加密中的代码解密非常冗长且令人困惑... 谁能建议我使用 C# 为 Web 应用程序加密/解密数据的最佳方法和最简单的方法... 解决方案 看这里[^] 还有 这里[^]
)
运行pip install cryptography时,我会遇到以下错误: build\temp.win32-2.7\Release\_openssl.c(434) : fatal error C1083: Cannot open include file: 'openssl/opensslv.h': No such file or directory 我正在运行Windows 10,64位,使用Python 2.7.我正在尝试安装密码学1.9. 解决方案 安装openssl和变化的环境变量为我解决了此问题. 通过使用安装程序从此处使用安装程序: 使用Win32OpenSSL-1_1_0f,即使您的系统为64位(我尝试安装64位版本的OpenSSL,但这无法解决问题) ) 现在应该存在以下两个文件夹:C:\OpenSSL-Win32\include,C:\OpenSSL-Win32\lib 打开CMD线终端并运行以下内容: > set INCLUDE=C:\OpenSSL-Win32\include;%INCLUDE% > set LIB=C:\OpenSSL-Win32\lib;%LIB% > pip install cryptography 其他解决方案 我在融合方面也有同样的问题,该问题是通过升级PIP解决的.
)
我知道您永远不应该制作自己的密码学,无论是密码还是散列算法,甚至是安全的伪随机数生成器,这些都是我在漫长的标准化过程中开发的.但是,我正在寻找报价或优点,以便向决定编写自己的加密算法的偶尔的开发人员快速描述/争论这一点. 解决方案 你可以告诉这个开发者,现有的算法,比如 AES 已经被无数密码分析专家分析过(这肯定涉及对数字和计算机科学的深入理解)并在竞赛中进行测试,真正激励创建安全算法. 您也可以告诉这位开发人员,仅仅因为一种算法很受欢迎,并不意味着它不安全(如果那是这位开发人员的理由).仅仅因为很多人都知道门锁的工作原理并不会使门锁不安全,也不是人们创建自己的门锁的充分理由. 对于真实世界的示例,请参阅这篇关于任天堂在 Wii 中的错误的 TDWTF 文章安全功能. Nintendo(一家拥有大量程序员的知名大公司)试图实现一个现有算法并设法搞砸了.是什么让这位开发人员认为他/她拥有 l33t h4x0r 技能来编写新的安全算法?
)
我正在为我的应用创建一个简单的许可系统. 我不了解密码学,但我知道我需要一个由 2 个密钥组成的算法:私有密钥和公共密钥. 我需要使用我的私钥加密一些数据(到期日期和客户电子邮件),然后我的应用程序将使用公钥解密数据以比较到期日期. 是否有已知的算法可以满足我的需求? 编辑:问题已解决.使用 dsa 的辅助类可用 这里 解决方案 查看 RSA.大多数现代平台都会在其标准库中实现 RSA.
)
好吧,我的科学计算器项目被我的讲师拒绝了,所以现在我需要重新开始. 我正在考虑创建一个 java 或 c++ 程序,它将接受密码并要求密钥对其进行加密.我将提供数字键,并且只会使用 2 个键. 第一个密钥将用于单字母密码,我认为将使用 switch case,其他密钥可以是 Hill 或 vigenere 密码. 但是我对 vigenere cipher 没有任何想法,请帮助我如何为此编写代码.我希望你们都知道这种技术,如果可能的话,请提出任何其他简单的密码技术. 然后我正在寻找一个解密程序,它将解密将由加密程序发送的加密密码,并且密钥将由用户之前决定提供. 谢谢 解决方案 我也许可以帮助您查找信息[^]
)
我正在尝试使用Python密码库验证签名,如上所述 这里不对称/RSA/ 这是在客户端服务器TCP聊天应用程序的上下文中,并且客户端已经计算了签名,并将其发送给客户端以验证其确实是正确的服务器.签名传递给函数以验证. def VerifySignature(signature): with open("server_publickey.pem", "rb") as key_file: public_key = serialization.load_pem_public_key( key_file.read(), #password=None, backend=default_backend() ) verifier = public_key.verifier( signature, padding.PSS( mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH ), hashes.SHA256()
)