How to get MD5 sum of a string using python?

后端 未结 6 1119
伪装坚强ぢ
伪装坚强ぢ 2020-11-27 09:07

In the Flickr API docs, you need to find the MD5 sum of a string to generate the [api_sig] value.

How does one go about generating an MD5 sum from a str

相关标签:
6条回答
  • 2020-11-27 09:40

    Have you tried using the MD5 implementation in hashlib? Note that hashing algorithms typically act on binary data rather than text data, so you may want to be careful about which character encoding is used to convert from text to binary data before hashing.

    The result of a hash is also binary data - it looks like Flickr's example has then been converted into text using hex encoding. Use the hexdigest function in hashlib to get this.

    0 讨论(0)
  • 2020-11-27 09:52

    You can do the following:

    Python 2.x

    import hashlib
    print hashlib.md5("whatever your string is").hexdigest()
    

    Python 3.x

    import hashlib
    print(hashlib.md5("whatever your string is".encode('utf-8')).hexdigest())
    

    However in this case you're probably better off using this helpful Python module for interacting with the Flickr API:

    • http://stuvel.eu/flickrapi

    ... which will deal with the authentication for you.

    Official documentation of hashlib

    0 讨论(0)
  • 2020-11-27 09:58
    Try This 
    import hashlib
    user = input("Enter text here ")
    h = hashlib.md5(user.encode())
    h2 = h.hexdigest()
    print(h2)
    
    0 讨论(0)
  • 2020-11-27 09:59

    You can Try with

    #python3
    import hashlib
    rawdata = "put your data here"
    sha = hashlib.sha256(str(rawdata).encode("utf-8")).hexdigest() #For Sha256 hash
    print(sha)
    mdpass = hashlib.md5(str(sha).encode("utf-8")).hexdigest() #For MD5 hash
    print(mdpass)
    
    0 讨论(0)
  • 2020-11-27 10:01

    For Python 2.x, use python's hashlib

    import hashlib
    m = hashlib.md5()
    m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
    print m.hexdigest()
    

    Output: a02506b31c1cd46c2e0b6380fb94eb3d

    0 讨论(0)
  • 2020-11-27 10:03

    You can use b character in front of a string literal:

    import hashlib
    print(hashlib.md5(b"Hello MD5").hexdigest())
    print(hashlib.md5("Hello MD5".encode('utf-8')).hexdigest())
    

    Out:

    e5dadf6524624f79c3127e247f04b548
    e5dadf6524624f79c3127e247f04b548
    
    0 讨论(0)
提交回复
热议问题