gpt4 book ai didi

python-3.x - 如何对字符串的 md5 和进行 base-64 编码?

转载 作者:行者123 更新时间:2023-12-01 02:34:27 24 4
gpt4 key购买 nike

我想将字符串转换为 md5 和 base64。这是我到目前为止取得的成就:

base64.urlsafe_b64encode("text..." + Var1 + "text..." + 
hashlib.md5(Var2).hexdigest() + "text...")

Python 引发 TypeError,它表示:Unicode objects must be encoded before hashing

编辑:这是我现在拥有的:

var1 = "hello"
var2 = "world"
b1 = var1.encode('utf-8')
b2 = var2.encode('utf-8')

result = "text" +
base64.urlsafe_b64encode("text" + b1 + "text" +
hashlib.md5(b2).hexdigest() + "text") +
"text"

最佳答案

Var1Var2 是字符串 (unicode) 但 md5()urlsafe_b64encode() 函数需要普通的旧字节作为输入。

您必须将 Var1Var2 转换为字节序列。为此,您需要告诉 Python 如何将字符串编码为字节序列。要将它们编码为 UTF-8,您可以这样做:

b1 = Var1.encode('utf-8')
b2 = Var2.encode('utf-8')

然后您可以将这些字节串传递给函数:

bmd5 = hashlib.md5(b2).digest()  # get bytes instead of a string output
b3 = "text...".encode('utf-8') # need to encode these as bytes too
base64.urlsafe_b64encode(b3 + b1 ...)

关于python-3.x - 如何对字符串的 md5 和进行 base-64 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3313374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com