Προστασία Παρουσιάσεων με Κωδικό Πρόσβασης σε Java
Επισκόπηση
Ένας κωδικός πρόσβασης έναρξης κρυπτογραφεί μια παρουσίαση. Ο σωστός κωδικός πρόσβασης απαιτείται για τη φόρτωση και προβολή του περιεχομένου της παρουσίασης, έτσι αυτή η προστασία παρέχει εμπιστευτικότητα.
Ο κωδικός πρόσβασης έναρξης διαφέρει από τον κωδικό προστασίας εγγραφής. Η προστασία εγγραφής περιορίζει την τροποποίηση αλλά δεν κρυπτογραφεί το περιεχόμενο ούτε αποτρέπει τη φόρτωση της παρουσίασης. Για τη διαχείριση κωδικών πρόσβασης για τροποποίηση παρουσιάσεων, δείτε Write-Protect Presentations.
Οι παρακάτω ροές εργασίας ισχύουν για παρουσιάσεις PPT και PPTX. Τα παραδείγματα χρησιμοποιούν και τις δύο μορφές όταν η συμπεριφορά βάσει αρχείου ή ροής είναι σημαντική.
Κρυπτογράφηση Παρουσίασης με Κωδικό Πρόσβασης Έναρξης
Χρησιμοποιήστε το IProtectionManager.encrypt για να ορίσετε έναν κωδικό πρόσβασης έναρξης. Στη συνέχεια χρησιμοποιήστε το IPresentation.save για να αποθηκεύσετε την κρυπτογραφημένη παρουσίαση.
Το παρακάτω παράδειγμα κρυπτογραφεί μια παρουσίαση PPTX:
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
Presentation presentation = new Presentation("pres.pptx");
try {
presentation.getProtectionManager().encrypt("open_password");
presentation.save("encrypted-pres.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Φόρτωση Κρυπτογραφημένης Παρουσίασης
Ορίστε το ILoadOptions.setPassword στον κωδικό πρόσβασης έναρξης και περάστε τις επιλογές στο Presentation κατά τη φόρτωση του αρχείου. Η φόρτωση αποτυγχάνει όταν απαιτείται κωδικός πρόσβασης έναρξης, αλλά ο παρεχόμενος κωδικός λείπει ή είναι λανθασμένος.
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");
Presentation presentation = new Presentation("encrypted-pres.pptx", loadOptions);
try {
// Εργαστείτε με την αποκρυπτογραφημένη παρουσίαση.
} finally {
presentation.dispose();
}
Αφαίρεση Κρυπτογράφησης από Παρουσίαση
Φορτώστε την παρουσίαση με τον κωδικό πρόσβασης έναρξης, καλέστε το IProtectionManager.removeEncryption, και αποθηκεύστε το αποτέλεσμα. Η αποθηκευμένη παρουσίαση μπορεί στη συνέχεια να φορτωθεί χωρίς κωδικό πρόσβασης.
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.SaveFormat;
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");
Presentation presentation = new Presentation("encrypted-pres.pptx", loadOptions);
try {
presentation.getProtectionManager().removeEncryption();
presentation.save("encryption-removed.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Επικύρωση Κωδικού Πρόσβασης Έναρξης Πριν τη Φόρτωση
Χρησιμοποιήστε το IPresentationFactory.getPresentationInfo για να λάβετε το IPresentationInfo χωρίς να δημιουργήσετε πλήρη παράδειγμα παρουσίασης. Ελέγξτε το IPresentationInfo.isPasswordProtected πριν ζητήσετε ή επικυρώσετε κωδικό πρόσβασης. Όταν υπάρχει προστασία, επικυρώστε την παρεχόμενη τιμή με το IPresentationInfo.checkPassword.
Ροή Εργασίας Βάσει Διαδρομής Αρχείου
Το παρακάτω παράδειγμα επικυρώνει έναν κωδικό πρόσβασης έναρξης για αρχείο PPTX, περνά την επικυρωμένη τιμή στο ILoadOptions.setPassword, και στη συνέχεια φορτώνει την πλήρη παρουσίαση:
import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.PresentationFactory;
String filePath = "protected-presentation.pptx";
String password = "open_password";
IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo(filePath);
if (!presentationInfo.isPasswordProtected()) {
System.out.println("The presentation does not have an opening password.");
} else if (!presentationInfo.checkPassword(password)) {
System.out.println("The opening password is incorrect.");
} else {
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword(password);
Presentation presentation = new Presentation(filePath, loadOptions);
try {
System.out.println("The presentation was validated and loaded successfully.");
} finally {
presentation.dispose();
}
}
Ροή Εργασίας Ροής
Η υπερφόρτωση ροής του IPresentationFactory.getPresentationInfo παρέχει την ίδια ροή εργασίας. Επαναρύθμιση της θέσης μιας ρεύσιμης ροής προτού φορτωθεί η πλήρης παρουσίαση από αυτή τη ροή.
Το παρακάτω παράδειγμα χρησιμοποιεί αρχείο PPT:
import com.aspose.slides.IPresentationInfo;
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
import com.aspose.slides.PresentationFactory;
import java.io.FileInputStream;
String password = "open_password";
FileInputStream presentationStream = new FileInputStream("protected-presentation.ppt");
try {
IPresentationInfo presentationInfo = PresentationFactory.getInstance().getPresentationInfo(presentationStream);
if (!presentationInfo.isPasswordProtected()) {
System.out.println("The presentation does not have an opening password.");
} else if (!presentationInfo.checkPassword(password)) {
System.out.println("The opening password is incorrect.");
} else {
presentationStream.getChannel().position(0);
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword(password);
Presentation presentation = new Presentation(presentationStream, loadOptions);
try {
System.out.println("The presentation was validated and loaded successfully.");
} finally {
presentation.dispose();
}
}
} finally {
presentationStream.close();
}
Τιμές Επιστροφής checkPassword
Το IPresentationInfo.checkPassword επιστρέφει true μόνο όταν η παρουσίαση έχει κωδικό πρόσβασης έναρξης και ο παρεχόμενος κωδικός είναι σωστός. Επιστρέφει false σε καθένα από τις παρακάτω περιπτώσεις:
- Ο κωδικός πρόσβασης είναι λανθασμένος.
- Η παρουσίαση δεν έχει κωδικό πρόσβασης έναρξης.
- Ο παρεχόμενος κωδικός πρόσβασης είναι
nullή κενός.
Η συμπεριφορά είναι η ίδια για παρουσιάσεις PPT και PPTX.
Έλεγχος Εάν Η Φορτωμένη Παρουσίαση Είναι Κρυπτογραφημένη
Μετά τη φόρτωση μιας παρουσίασης με τον σωστό κωδικό πρόσβασης, ελέγξτε το IProtectionManager.isEncrypted για να επιβεβαιώσετε ότι η πηγή παρουσίασης κρυπτογραφήθηκε. Για να εντοπίσετε προστασία κωδικού πρόσβασης έναρξης πριν από τη φόρτωση, χρησιμοποιήστε το IPresentationInfo.isPasswordProtected όπως φαίνεται παραπάνω.
import com.aspose.slides.LoadOptions;
import com.aspose.slides.Presentation;
LoadOptions loadOptions = new LoadOptions();
loadOptions.setPassword("open_password");
Presentation presentation = new Presentation("encrypted-pres.pptx", loadOptions);
try {
boolean isEncrypted = presentation.getProtectionManager().isEncrypted();
System.out.println("The presentation is encrypted: " + isEncrypted);
} finally {
presentation.dispose();
}
Συστάσεις Ασφαλείας
Security
Μην καταγράφετε τους κωδικούς πρόσβασης έναρξης ή τους συμπεριλαμβάνετε σε διαγνωστικά μηνύματα. Αποφύγετε περιττές επαναλαμβανόμενες προσπάθειες επικύρωσης, κρατήστε τους κωδικούς πρόσβασης στη μνήμη μόνο όσο απαιτείται, και επαναχρησιμοποιήστε ένα επιτυχές αποτέλεσμα επικύρωσης όταν φορτώνετε αμέσως την παρουσίαση.Προστασία Παρουσίασης με Κωδικό Πρόσβασης Online
- Ανοίξτε την εφαρμογή Aspose.Slides Lock.
- Επιλέξτε ή ανεβάστε την παρουσίαση.
- Εισάγετε έναν κωδικό πρόσβασης για προστασία προβολής.
- Προαιρετικά εισάγετε έναν ξεχωριστό κωδικό πρόσβασης για προστασία επεξεργασίας.
- Εφαρμόστε την προστασία και κατεβάστε το παραγόμενο αρχείο.
Συχνές Ερωτήσεις
Ποια είναι η διαφορά μεταξύ κωδικού πρόσβασης έναρξης και κωδικού προστασίας εγγραφής;
Ένας κωδικός πρόσβασης έναρξης κρυπτογραφεί την παρουσίαση και απαιτείται για τη φόρτωση του περιεχομένου της. Ένας κωδικός προστασίας εγγραφής περιορίζει την τροποποίηση χωρίς να κρυπτογραφεί το περιεχόμενο.
Μπορώ να επικυρώσω έναν κωδικό πρόσβασης έναρξης χωρίς να φορτώσω όλες τις διαφάνειες;
Ναι. Λάβετε πληροφορίες παρουσίασης, ελέγξτε εάν υπάρχει προστασία κωδικού πρόσβασης έναρξης, και επικυρώστε τον κωδικό πρόσβασης πριν δημιουργήσετε πλήρες αντίτυπο παρουσίασης.
Υποστηρίζουν οι ροές εργασίας ελέγχου κωδικού πρόσβασης και τα PPT και PPTX;
Ναι. Η ανίχνευση και επικύρωση κωδικού πρόσβασης βάσει διαδρομής αρχείου ή ροής συμπεριφέρεται με τον ίδιο τρόπο για παρουσιάσεις PPT και PPTX.