Excelファイルの暗号化および復号化
Contents
[
Hide
]
Microsoft Excel(97 - 365)を使用すると、スプレッドシートを暗号化/パスワード保護することができます。それはCryptoサービスプロバイダによって提供される暗号化アルゴリズムを利用します。デフォルトのCSPは「Office 97/2000 Compatible」または「Week Encryption (XOR)」です。また、適切な暗号化キー長を選択することが重要です。一部の暗号サービスプロバイダは40ビットまたは56ビットを超える長さをサポートしないことがあります。これは弱い暗号化タイプと見なされます。ただし、強力な暗号化タイプには、最小128ビットの鍵長が必要です。Microsoft Windowsには、銀行がインターネットバンキングシステムとの接続を暗号化するために使用する128ビットの暗号化が含まれています。Aspose.Cellsを使用して、希望の暗号化タイプでExcelファイルを暗号化/パスワード保護することができます。
MS Excelの使用
MS Excel(たとえばMS Excel 2003)では、ファイルの暗号化設定を実装するために次のようにできます:
- ツールメニューからオプションを選択し、セキュリティタブを選択します。
- 開くためのパスワードを入力し、詳細ボタンをクリックします。
- 暗号化タイプを選択し、パスワードを確認します。
図: オプションダイアログ
図: 暗号化タイプダイアログ
Excelファイルの暗号化
以下の例は、Aspose.Cells API を使用して Excel ファイルを暗号化 / パスワードで保護する方法を示しています。
サンプルコード:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(EncryptingFiles.class) + "loading_saving/"; | |
// Instantiate a Workbook object by excel file path | |
Workbook workbook = new Workbook(dataDir + "Book1.xls"); | |
// Password protect the file. | |
workbook.getSettings().setPassword("1234"); | |
// Specify XOR encrption type. | |
workbook.setEncryptionOptions(EncryptionType.XOR, 40); | |
// Specify Strong Encryption type (RC4,Microsoft Strong Cryptographic | |
// Provider). | |
workbook.setEncryptionOptions(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128); | |
// Save the excel file. | |
workbook.save(dataDir + "EncryptingFiles_out.xls"); | |
// Print message | |
System.out.println("Encryption applied successfully on output file."); |
Aspose.CellsでExcelファイルを復号化
パスワードで保護されたExcelファイルを開くことや、Aspose.Cells APIを使用して復号化することは次のコードに示す通り非常に簡単です。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Open encrypted file with password. | |
LoadOptions loadOptions = new LoadOptions(); | |
loadOptions.setPassword("password"); | |
Workbook workbook = new Workbook("Book1.xlsx", loadOptions); | |
//Remove password. | |
workbook.getSettings().setPassword(null); | |
//Save the file. | |
workbook.save("Book1.xlsx"); |