import hashlib
def getHash(file_path):
    f = open(file_path, "rb")   
    line = f.readline()
    hash = hashlib.md5()
    while(line):
        hash.update(line.encode('utf8'))
        line = f.readline()
    f.close()
    return hash.hexdigest()
def IsHashEqual(file_path1, file_path2):
    str1 = getHash(file_path1)
    str2 = getHash(file_path2)
    return str1 == str2
if __name__ == '__main__':
    if IsHashEqual("E:\\GIT\\1.txt", "E:\\GIT\\2.txt"):
        print "文件内容相同!"
    else:
        print "文件内容不同!"
def _record_device_hash(device_ini_path, base_ini_path):
    ini = load_config(device_ini_path)
    if not ini.has_section('DeviceSignature'):
        ini.add_section('DeviceSignature')
        ini.write(open(device_ini_path, "w", encoding="utf-8"))
    device_hash = _get_device_hash(device_ini_path, base_ini_path)
    write_config(device_ini_path, "DeviceSignature", "signature", device_hash)
def _get_device_hash():
    import hashlib
    axis_cards = _get_axiscards()
    ini = basic.sysData("ini/base.ini")
    manufacturer = ini['sys']['manufacturer']
    axis_cards.append(manufacturer)
    model = ini['sys']['model']
    axis_cards.append(model)
    secret_key = 'you never guess'
    axis_cards.append(secret_key)
    devices_str = ','.join(axis_cards)
    device_hash = hashlib.md5()
    device_hash.update(devices_str.encode('utf-8'))
    return device_hash.hexdigest()
def _is_hash_equal():
    hash1 = _get_device_hash()
    ini = basic.sysData("ini/device.ini")
    if ini.has_option('DeviceSignature', 'signature'):
        hash2 = ini['DeviceSignature']['signature']
        if hash2 is None:
            return False
        return hash1 == hash2
    else:
        return False