[docs]@staticmethoddefverifykey(key,encryptedVerifier,encryptedVerifierHash):r""" Return True if the given intermediate key is valid. >>> key = b'@\xb1:q\xf9\x0b\x96n7T\x08\xf2\xd1\x81\xa1\xaa' >>> encryptedVerifier = b'Qos.\x96o\xac\x17\xb1\xc5\xd7\xd8\xcc6\xc9(' >>> encryptedVerifierHash = b'+ah\xda\xbe)\x11\xad+\xd3|\x17Ft\\\x14\xd3\xcf\x1b\xb1@\xa4\x8fNo=#\x88\x08r\xb1j' >>> ECMA376Standard.verifykey(key, encryptedVerifier, encryptedVerifierHash) True """# TODO: For consistency with Agile, rename method to verify_password or the likelogger.debug([key,encryptedVerifier,encryptedVerifierHash])# https://msdn.microsoft.com/en-us/library/dd926426(v=office.12).aspxaes=Cipher(algorithms.AES(key),modes.ECB(),backend=default_backend())decryptor=aes.decryptor()verifier=decryptor.update(encryptedVerifier)expected_hash=sha1(verifier).digest()decryptor=aes.decryptor()verifierHash=decryptor.update(encryptedVerifierHash)[:sha1().digest_size]returnexpected_hash==verifierHash