问题标签 [python-cryptography]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 过期令牌生成器返回 InvalidToken
我正在尝试创建一个过期令牌生成器。但是,当我例如使用generate_token
然后使用令牌时,get_token_value
我不断得到cryptography.fernet.InvalidToken
我猜这是两个函数中的编码问题,但我不太确定我缺少什么?
发电机
python - Python 密码学生成随机密钥
我正在使用 python Cryptography 模块,并且使用文档中的示例生成了私钥和公钥。我遇到的问题是我希望能够生成不同的密钥对。就像我生成一个,但每次运行它时总是生成同一个。我已经尝试尽可能多地阅读文档,但找不到任何解决此问题的方法。谢谢。
python-3.x - 由于无效的环境标记错误,无法构建基于 scrapy 的项目
对于几个月前使用 Scrapy 编写的项目之一,我无法使用 Ubuntu 作为基本操作系统构建 docker 映像。它显示以下依赖错误 -
由于我无法控制 Scrapy 的依赖项,并且我一直在使用最新版本的 Scrapy 1.4.0 和 Python 3,我不确定我现在有什么选择?
以下是我用来安装依赖项的命令
pip3 install -r requirements.txt
以下是我的 requirements.txt 的样子
更新:
该构建在 Mac 机器上运行良好,如下所示,而它在 Ubuntu 机器上不起作用。注意:即使是成功的构建也会发出platform_python_implementation != "PyPy"
如下所示的警告 -
cryptography - 获取 ECDSA 签名的固定长度字节表示的正确方法是什么?
我正在使用 python 和 cryptography.io 来签名和验证消息。我可以通过以下方式获得签名的 DER 编码字节表示:
cryptography_priv_key.sign(message, hash_function)
...根据本文档:https ://cryptography.io/en/latest/hazmat/primitives/asymmetric/ec/
来自 256 位曲线的 DER 编码 ECDSA 签名最多为 72 个字节;请参阅:ECDSA 签名长度
但是,根据 r 和 s 的值,它也可以是 70 或 71 个字节。事实上,如果我检查这个函数的输出长度,它会在 70-72 之间变化。到目前为止我有这个权利吗?
我可以将签名解码为整数 r 和 s。这些显然都是 32 个字节,但我不清楚是否会一直如此。
将这两个整数转换为字节并通过网络发送它们是否安全,以便在另一端再次对它们进行编码?
python - Crypto++ 和 Python 之间的 Diffie-Hellman 密钥交换
考虑客户端和服务器之间的 Diffie-Hellman 密钥交换,其中客户端应用程序是用 c++ 编写的,后端是用 python 编写的。客户端应用程序将Crypto++ lib 用于加密内容,而 Python 使用cryptography。
这里是生成私钥和公钥的客户端应用程序部分
现在的问题是我不知道如何将公钥反序列化为 python EllipticCurvePublicKey。当我使用cryptography.hazmat.primitives.serialization.load_der_public_key() 我得到
有没有人尝试使用这两个库在 Crypto++ 和 Python 之间实现 Diffie-Hellman 密钥交换?
python - 使用由 M2Crypto 生成的密码学/pycrypto 进行私有加密(生成签名)
我正在尝试为有效负载生成签名。我的技术栈在 Python3.6 中,它提供了密码学或 pycrypto 之类的库。问题是,我无法private_encrypt
在密码学等库中重新创建 M2Crypto 的功能。M2Crypto 生成的签名被我的对端接受为有效签名,而由两个库生成的签名被丢弃,说无效签名。
我已经使用 python2.7 创建了一个最小的 POC 来说明我的情况。
cryptography
由和创建的签名Crypto
相同,与由 生成的签名不同M2Crypto
。TIA。
python - 在 Python 中使用 SHA256 对字节字符串进行签名
目前,我有一些代码使用原生 OpenSSL 二进制文件使用 SHA256 算法对字节字符串进行签名,该代码调用外部进程,发送参数,并将结果接收回 Python 代码。
当前代码如下:
当original_string
太大时,我可能会遇到结果问题(我认为是与外部进程的通信),这就是为什么我试图将其更改为仅 Python 的解决方案:
这导致与第一个完全不同的字符串。
在不调用外部进程的情况下实现原始代码的方法是什么?
python - 如何在 Python Cryptography 中读取二进制密钥?
我有一个二进制格式的 RSA 模数和指数。我无权访问 PEM 格式的密钥。如何使用cryptography
库加载它?
我不知道如何解决这个问题,但我有:
作为说明,我不必使用该cryptography
库,如果有更好的方法可以使用不同的库来做到这一点,那没关系。
python - 使用 Paramiko 时出现加密错误?
我最近没有更新任何我能想到的会影响 nacl 和 paramiko 签名过程的东西,但现在它不起作用。我已经重新安装了 paramiko 和 netmiko,并确保所有的加密库都是最新的。我不知道还能做什么,有什么想法吗?
Netmiko 使用 Paramiko 库建立 SSH 连接。这段代码用于设置设备定义。
这是与设备创建和 ssh 连接打开相关的堆栈跟踪。
python - SQLAlchemy 加密列而不在检索时自动解密
目前,我使用EncryptedType
fromsqlalchemy_utils
是为了在进入表的过程中自动加密数据,并在从表中检索数据时解密数据,使用一些预定义的字符串作为加密密钥。这工作正常,但现在要求已经改变,虽然我仍然需要在进入表的过程中加密数据,但我现在需要在检索数据时保持数据加密。我不确定这是否EncryptedType
支持,或者是否有任何其他方法可以使用 SQLAlchemy 做到这一点,而无需在我假设的密码库中滚动我自己。
我的表示例: