问题标签 [fernet]

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.

0 投票
1 回答
589 浏览

python-3.x - cryptography.fernet 使用哪个加密密码?

我正在制作一个加密和解密文本的程序。我正在使用 Python 3.7 和 cryptography.fernet 库。我想在 GitHub 页面上输入一些关于我的程序加密标准的信息,但我不明白 Fernet 使用哪种加密。

这是我在项目中使用的示例代码。我想使用 256 位 (AES-256) 密钥进行加密,但此代码生成的密钥长度超过 32 个字符。它是 44 个字符。但在密码库的官方网站上,它说此代码生成 128 位密钥。这个 44 个字符(352 位)密钥的名称是什么?或者有什么方法可以在没有 PyCrypto 的情况下进行 256 位对称加密?

这是此代码生成的密钥:aAT_LESBw_ZGlPA52cj4zQd6jBdx6gk5RmQWbpLY7e0=

0 投票
1 回答
149 浏览

python - 选择 Fernet 加密算法

我正在使用Fernet,并且对密码算法感到困惑......我如何在生成我的密钥时尝试AESDESTwofishRC4或其他算法。(对不起,如果搞砸了:|只是密码新手:)

0 投票
2 回答
1093 浏览

python - 使用 Fernet 解密,TypeError: token must be bytes

编程语言:Python

我有三个文件,一个是生成密钥,第二个是加密,另一个是解密..第一个和第二个文件工作..但解密文件不起作用

生成密钥文件:

加密文件 -

解密文件 -

我试过的字符串 - (这个测试在 text.txt 中)

我得到的错误:

0 投票
1 回答
318 浏览

python - AttributeError:'bytes' 对象在 MultiFernet 中没有属性 'encrypt_at_time'

只是尝试使用MultiFernet.

我的代码是:

尝试加密我得到的纯文本时:

解决方案是什么?

0 投票
1 回答
391 浏览

python-3.x - 使用 Fernet 创建自定义 Django 加密字段

我正在尝试使用 Fernet 创建一个 django 自定义加密字段。我发现自动执行此操作的库似乎已过时/与 Django>3.0 不兼容

这个线程中,我发现了以下代码:

它似乎适用于编码部分(如果我使用管理器程序检查数据库字段,内容显示为一种汉字),但不适用于解码。

每次我在 Admin 中保存记录时,都会触发此错误(尽管保存在数据库中):

raise TypeError("{} must be bytes".format(name)) TypeError: token must be bytes

由于get_prep_value代码,不应该已经是数据库记录中的字节吗?尝试在管理员中列出记录(访问读取功能)时会发生相同的错误。

我该如何解决这个问题?我使用 SQL Server 作为数据库(以防它可能相关)。

0 投票
1 回答
53 浏览

python-3.x - python中的Fernet,“令牌必须是字节”

好的,这是我的代码:

我在 ctx 之后插入了一个字符串,上面写着 TypeError: token must be bytes。我的参数是这个(这是一个字节,对吗?): b'gAAAAABgx22pwwjUHUA7KqV8jmZrXvocfC3VrHS_QrGCfCaEyj6f7cG1_K3NtbkADYiR4l8fq-DiqYJJk2k8n0jBUhDYsH2kNA=='

0 投票
1 回答
50 浏览

python - 使用 cryptography.fernet 的元组解密问题

好的,所以我正在尝试在 python 中编写密码管理器,我正在使用 cyrptography.fernet 来加密电子邮件和密码,然后将它们存储到本地 SQLite 数据库中,问题是当我尝试获取例如电子邮件时它们采用这种格式的数据库: (b'encypted-email-here'), (b'and-so-on) 所以我认为既然引号之前的 b 是字节格式,我不需要做任何事情为了解密它们,但是当我实际尝试解密它们时,我收到一条错误消息:“TypeError:token must be bytes”这是我的代码,因此您可以查看一下

0 投票
0 回答
317 浏览

python - 如何在 Python 中将字符串转换为与 Fernet 一起使用

我想转换一个字符串以将其用作 Fernet 的自定义键。

当前代码

然而,这引发了异常:

ValueError: Fernet key must be 32 url-safe base64-encoded bytes.

提前致谢。

0 投票
1 回答
114 浏览

python - Python fernet:令牌必须以字节为单位

我想在 sqlite3 中向数据库添加值,它们需要加密。当我想检索值时,它们需要被解密。现在我收到了这个错误TypeError: token must be bytes。以下是错误的完整列表:Traceback (most recent call last): File "C:\Users\d\OneDrive\Bureaublad\Assignment8\CDMS.py", line 75, in <module> get_clients() File "C:\Users\d\OneDrive\Bureaublad\Assignment8\CDMS.py", line 68, in get_clients new += fernet.decrypt(i).decode() + " " File "C:\Users\d\AppData\Local\Programs\Python\Python38\lib\site-packages\cryptography\fernet.py", line 75, in decrypt timestamp, data = Fernet._get_unverified_token_data(token) File "C:\Users\d\AppData\Local\Programs\Python\Python38\lib\site-packages\cryptography\fernet.py", line 100, in _get_unverified_token_data utils._check_bytes("token", token) File "C:\Users\d\AppData\Local\Programs\Python\Python38\lib\site-packages\cryptography\utils.py", line 29, in _check_bytes raise TypeError("{} must be bytes".format(name)) TypeError: token must be bytes

这是我的代码:

第一个函数用于添加客户端,通过一个名为 Client 的类对象。第二个功能是检索所有解密的值。

0 投票
2 回答
44 浏览

python - 为什么我不能用 fernet [Python] 解密数据库值?

我试图检索数据库中的加密值,并解密它们。但这对我不起作用。这是我试图解密的来自 sqlite3 的记录:

这是代码:

但是我得到了这些错误列表:

我不知道我做错了什么