def initialize( enc, file_id, password )
@filter = enc[:Filter]
@subFilter = enc[:SubFilter]
@version = enc[:V].to_i
@key_length = enc[:Length].to_i/8
@crypt_filter = enc[:CF]
@stream_filter = enc[:StmF]
@string_filter = enc[:StrF]
@revision = enc[:R].to_i
@owner_key = enc[:O]
@user_key = enc[:U]
@permissions = enc[:P].to_i
@embedded_file_filter = enc[:EFF]
@encryptMeta = enc.has_key?(:EncryptMetadata)? enc[:EncryptMetadata].to_s == "true" : true;
@file_id = file_id.first
@encrypt_key = build_standard_key(password)
end