【发布时间】:2022-01-07 02:01:21
【问题描述】:
我正在尝试使用密码库加密文件名,但输出太长以至于 windows 不会重命名它并给我错误。有人问过here,但没有解决方案。
fileName= f.encrypt(b'#Filenamehere')
print(fileName)
输出
b'gAAAAABhpf2t5brpCcfFoMZ9NvQ9R21uCeGGpVGZE2L_xfWwSw4IwSEj0Eos5smAmfZz3nySqGXsQOCjbThrTAFZuBOD3r1-t-aaV6RVpHWadybdE5A5RKVudM8BoD4_wvksaw4W9swNqgDZuGw=='
有没有办法在密码库中将输出的加密消息限制为一定数量。
【问题讨论】:
-
为什么要这样更改文件名?
-
我正在尝试加密我的文件,但我也想更改文件名,这样没人知道它是什么。 Windows 对文件名字符有限制。有没有其他方法可以做到这一点。
-
您显然在使用 Fernet。对于许多问题,Fernet 是一个不错的选择,但不是全部。您可以看到生成的“令牌”here 的格式。令牌总是大于输入,因此您不能使用已经是最大大小的文件名并将其替换为加密文件名。您可以通过 1)从令牌中删除时间戳和版本字节,以及 2)使用比 base64 更大的字母(例如 base96 或 Windows 文件名允许的任何字母)重新编码输出。
标签: python windows cryptography character-limit