MD5
MD5 即 Message-Digest Algorithm 5(信息-摘要算法5)。摘要算法又称哈希算法、散列算法。
它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。MD5 是从MD2、MD3 和 MD4 发展而来的一种加密算法,其主要通过采集文件的信息摘要,以此进行计算并加密。通过MD5算法进行加密,文件就可以获得一个唯一的 MD5 值,这个值是独一无二的,就像我们的指纹一样。[1]
在python3的标准库中,已经移除了md5,而关于hash加密算法都放在hashlib这个标准库中,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。
code
以下给出判断两个文件夹是否有重复图片的例子
import json
import os
from hashlib import md5
def getmd5(image_path,md5_path):
#得到所有图片的路径,加到列表images中
files = os.listdir(image_path)
files.pop(files.index('.DS_Store')) # MAC
images = [os.path.join(image_path,f) for f in files]
#计算每张图片的md5值,并将{md5值:图片路径}整合到字典image_md5中
image_md5 = {
}
for n in range