Apresentações Seguras com Senhas no Android
Introdução
Quando você protege uma apresentação com senha, isso significa que está definindo uma senha que impõe determinadas restrições à apresentação. Para remover as restrições, a senha deve ser inserida. Uma apresentação protegida por senha é considerada uma apresentação bloqueada.
Normalmente, você pode definir uma senha para impor essas restrições a uma apresentação:
-
Modificação
Se você deseja que apenas determinados usuários modifiquem sua apresentação, pode definir uma restrição de modificação. Essa restrição impede que as pessoas modifiquem, alterem ou copiem itens na sua apresentação (a menos que forneçam a senha).
Entretanto, nesse caso, mesmo sem a senha, um usuário poderá acessar seu documento e abri-lo. Nesse modo somente leitura, o usuário pode visualizar o conteúdo ou itens —hiperlinks, animações, efeitos e outros— dentro da sua apresentação, mas não pode copiar itens ou salvar a apresentação.
-
Abertura
Se você deseja que apenas determinados usuários abram sua apresentação, pode definir uma restrição de abertura. Essa restrição impede que as pessoas visualizem o conteúdo da sua apresentação (a menos que forneçam a senha).
Tecnicamente, a restrição de abertura também impede que os usuários modifiquem suas apresentações: quando as pessoas não podem abrir uma apresentação, elas não podem alterá‑la ou fazer mudanças nela.
Nota que quando você protege uma apresentação com senha para impedir a abertura, o arquivo da apresentação torna‑se criptografado.
Proteção por Senha para Apresentações no Aspose.Slides
Formatos compatíveis
Aspose.Slides suporta proteção por senha, criptografia e operações semelhantes para apresentações nestes formatos:
- PPTX e PPT - Apresentação do Microsoft PowerPoint
- ODP - Apresentação OpenDocument
- OTP - Modelo de Apresentação OpenDocument
Operações suportadas
O Aspose.Slides permite usar proteção por senha em apresentações para impedir modificações da seguinte forma:
- Criptografar uma apresentação
- Definir proteção contra escrita em uma apresentação
Outras operações
O Aspose.Slides permite executar outras tarefas envolvendo proteção por senha e criptografia da seguinte forma:
- Descriptografar uma apresentação; abrir uma apresentação criptografada
- Remover criptografia; desabilitar proteção por senha
- Remover proteção contra escrita de uma apresentação
- Obter as propriedades de uma apresentação criptografada
- Verificar se uma apresentação está criptografada
- Verificar se uma apresentação está protegida por senha.
Criptografar uma Apresentação
Você pode criptografar uma apresentação definindo uma senha. Em seguida, para modificar a apresentação bloqueada, o usuário deve fornecer a senha.
Para criptografar ou proteger por senha uma apresentação, você deve usar o método encrypt (de IProtectionManager) para definir uma senha para a apresentação. Você passa a senha para o método encrypt e usa o método save para salvar a apresentação agora criptografada.
Este código de exemplo mostra como criptografar uma apresentação:
Presentation presentation = new Presentation("pres.pptx");
try {
presentation.getProtectionManager().encrypt("123123");
presentation.save("encrypted-pres.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Definir Proteção Contra Escrita em uma Apresentação
Você pode adicionar uma marca indicando “Não modificar” a uma apresentação. Dessa forma, informa aos usuários que você não deseja que eles façam alterações na apresentação.
Nota que o processo de proteção contra escrita não criptografa a apresentação. Portanto, os usuários —se realmente quiserem— podem modificar a apresentação, mas para salvar as alterações, terão que criar uma apresentação com um nome diferente.
Para definir uma proteção contra escrita, você deve usar o método setWriteProtection. Este código de exemplo mostra como definir uma proteção contra escrita em uma apresentação:
Presentation presentation = new Presentation("pres.pptx");
try {
presentation.getProtectionManager().setWriteProtection("123123");
presentation.save("write-protected-pres.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Carregar uma Apresentação Criptografada
O Aspose.Slides permite carregar um arquivo criptografado passando sua senha. Para descriptografar uma apresentação, você deve chamar o método removeEncryption sem parâmetros. Em seguida, será necessário inserir a senha correta para carregar a apresentação.
Este código de exemplo mostra como descriptografar uma apresentação:
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("123123");
Presentation presentation = new Presentation("pres.pptx", loadOptions);
try {
// trabalhar com a apresentação descriptografada
} finally {
if (presentation != null) presentation.dispose();
}
}
Remover Criptografia de uma Apresentação
Você pode remover a criptografia ou proteção por senha de uma apresentação. Dessa forma, os usuários podem acessar ou modificar a apresentação sem restrições.
Para remover a criptografia ou proteção por senha, você deve chamar o método removeEncryption . Este código de exemplo mostra como remover a criptografia de uma apresentação:
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("123123");
Presentation presentation = new Presentation("pres.pptx", loadOptions);
try {
presentation.getProtectionManager().removeEncryption();
presentation.save("encryption-removed.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Remover Proteção Contra Escrita de uma Apresentação
Você pode usar o Aspose.Slides para remover a proteção contra escrita de um arquivo de apresentação. Dessa forma, os usuários podem modificar como quiserem —e não recebem avisos ao executar essas tarefas.
Você pode remover a proteção contra escrita de uma apresentação usando o método removeWriteProtection . Este código de exemplo mostra como remover a proteção contra escrita de uma apresentação:
Presentation presentation = new Presentation("pres.pptx");
try {
presentation.getProtectionManager().removeWriteProtection();
presentation.save("write-protection-removed.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}
Obter as Propriedades de uma Apresentação Criptografada
Normalmente, os usuários têm dificuldade em obter as propriedades do documento de uma apresentação criptografada ou protegida por senha. O Aspose.Slides, porém, oferece um mecanismo que permite proteger por senha uma apresentação mantendo a possibilidade de os usuários acessarem as propriedades dessa apresentação.
Nota que quando o Aspose.Slides criptografa uma apresentação, as propriedades do documento da apresentação também ficam protegidas por senha por padrão. Mas se precisar tornar as propriedades da apresentação acessíveis (mesmo após a apresentação ser criptografada), o Aspose.Slides permite exatamente isso.
Se você quiser que os usuários mantenham a capacidade de acessar as propriedades de uma apresentação que você criptografou, pode definir a propriedade encryptDocumentProperties como true. Este código de exemplo mostra como criptografar uma apresentação permitindo que os usuários acessem suas propriedades de documento:
Presentation presentation = new Presentation("pres.pptx");
try {
presentation.getProtectionManager().setEncryptDocumentProperties(true);
presentation.getProtectionManager().encrypt("123123");
} finally {
if (presentation != null) presentation.dispose();
}
Verificar se uma Apresentação Está Protegida por Senha
Antes de carregar uma apresentação, você pode querer verificar e confirmar que a apresentação não está protegida por senha. Dessa forma, evita erros e problemas semelhantes que ocorrem quando uma apresentação protegida por senha é carregada sem sua senha.
Este código Java mostra como examinar uma apresentação para verificar se está protegida por senha (sem carregar a própria apresentação):
IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo("example.pptx");
System.out.println("The presentation is password protected: " + presentationInfo.isPasswordProtected());
Verificar se uma Apresentação Está Criptografada
O Aspose.Slides permite verificar se uma apresentação está criptografada. Para realizar essa tarefa, você pode usar a propriedade isEncrypted , que retorna true se a apresentação estiver criptografada ou false se não estiver.
Este código de exemplo mostra como verificar se uma apresentação está criptografada:
Presentation presentation = new Presentation("pres.pptx");
try {
boolean isEncrypted = presentation.getProtectionManager().isEncrypted();
} finally {
if (presentation != null) presentation.dispose();
}
Verificar se uma Apresentação Está Protegida contra Escrita
O Aspose.Slides permite verificar se uma apresentação está protegida contra escrita. Para realizar essa tarefa, você pode usar a propriedade isWriteProtected , que retorna true se a apresentação estiver protegida contra escrita ou false se não estiver.
Este código de exemplo mostra como verificar se uma apresentação está protegida contra escrita:
Presentation presentation = new Presentation("pres.pptx");
try {
boolean isEncrypted = presentation.getProtectionManager().isWriteProtected();
} finally {
if (presentation != null) presentation.dispose();
}
Validar ou Confirmar que uma Senha Específica Foi Usada
Você pode querer verificar e confirmar que uma senha específica foi usada para proteger um documento de apresentação. O Aspose.Slides fornece meios para validar uma senha.
Este código de exemplo mostra como validar uma senha:
Presentation presentation = new Presentation("pres.pptx");
try {
// verificar se "pass" corresponde
boolean isWriteProtected = presentation.getProtectionManager().checkWriteProtection("my_password");
} finally {
if (presentation != null) presentation.dispose();
}
Ele retorna true se a apresentação foi criptografada com a senha especificada. Caso contrário, retorna false.
Veja também
Perguntas Frequentes
Quais métodos de criptografia são suportados pelo Aspose.Slides?
O Aspose.Slides suporta métodos de criptografia modernos, incluindo algoritmos baseados em AES, garantindo um alto nível de segurança dos dados para suas apresentações.
O que acontece se uma senha incorreta for inserida ao tentar abrir uma apresentação?
Uma exceção é lançada se uma senha incorreta for usada, alertando que o acesso à apresentação foi negado. Isso ajuda a impedir acesso não autorizado e protege o conteúdo da apresentação.
Existem implicações de desempenho ao trabalhar com apresentações protegidas por senha?
O processo de criptografia e descriptografia pode introduzir um pequeno overhead durante as operações de abertura e gravação. Na maioria dos casos, esse impacto de desempenho é mínimo e não afeta significativamente o tempo total de processamento das suas tarefas de apresentação.