代码之家  ›  专栏  ›  技术社区  ›  Dor

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

  •  2
  • Dor  · 技术社区  · 15 年前

    我希望将字符串转换为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"
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   David Underhill    15 年前

    Var1 Var2 md5() urlsafe_b64encode()

    你必须改变信仰 变量1 一个字节序列。为此,需要告诉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 ...)