Javaで復号化Excelファイルを暗号化する

MS Excelは、データをシームレスに保持および分析するための幅広い機能を提供します。 VBAモジュールを使用して、計算を実行したり、グラフを生成したり、カスタムロジックを定義したりできます。スプレッドシートのデータの重要性を認識しているMSExcelでは、暗号化を使用してブックを保護できます。さらに、Excelファイルをパスワードで保護して、不正アクセスを防ぐことができます。これに従って、この記事では、Javaを使用してExcelファイルを暗号化/復号化およびパスワード保護する方法について説明します。

Excelファイルを暗号化および復号化するJavaAPI

Aspose.Cells for Javaは、Excelファイルをシームレスに作成および操作できる強力なスプレッドシート操作APIです。さらに、数行のコードでワークブックを暗号化および復号化できます。さらに、Excelファイルをパスワードで保護することができます。 Aspose.Cells for Javaは、JARとしてダウンロードするか、次のMaven構成を使用してインストールできます。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>20.12</version>
</dependency>

Javaを使用してExcelファイルを暗号化する

Aspose.Cells for Javaは、Excel2003ファイルに対して次の暗号化タイプを提供します。

ただし、2007/2010ブックは、MSExcelと同じ方法でSHAおよびAES暗号化技術を使用して暗号化されます。以下は、Aspose.Cells for Javaを使用してExcelファイルを暗号化する手順です。

デモンストレーションとして、次のコードサンプルは、Javaを使用してExcelファイルを暗号化する方法を示しています。

// Excelファイルパスでワークブックオブジェクトをインスタンス化します
Workbook workbook = new Workbook("workbook.xlsx");

// ファイルをパスワードで保護する
workbook.getSettings().setPassword("1234");

// 暗号化タイプを指定して暗号化する
workbook.setEncryptionOptions(EncryptionType.XOR, 40);

// 強力な暗号化タイプを指定する(RC4、Microsoft強力な暗号化プロバイダー)
workbook.setEncryptionOptions(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128);

// 暗号化されたExcelファイルを保存します
workbook.save("encrypted-workbook.xlsx");

Javaを使用してExcelファイルを復号化する

暗号化されたExcelファイルを復号化するには、パスワードを入力するだけで、残りはAspose.Cells for Javaによって処理されます。以下は、Javaを使用してExcelファイルを復号化する手順です。

次のコードサンプルは、Javaを使用してパスワードで保護されたExcelファイルを復号化する方法を示しています。

// 読み込みオプションを初期化します
LoadOptions loadOptions = new LoadOptions(LoadFormat.XLSX);

// 元のパスワードを設定する
loadOptions.setPassword("1234");

// Excelファイルのパスを使用してWorkbookオブジェクトをインスタンス化します
Workbook workbook = new Workbook("encrypted-workbook.xlsx", loadOptions);

// パスワードをnullに設定
workbook.getSettings().setPassword(null);

// 復号化されたExcelファイルを保存します
workbook.save("decrypted-workbook.xlsx");

暗号化されたExcelファイルのパスワードを確認する

暗号化/復号化に加えて、Aspose.Cells for Javaでは、保護されたExcelファイルのパスワードを確認することもできます。パスワードの確認を行う手順は次のとおりです。

  • FileInputStreamクラスを使用して暗号化されたExcelファイルをロードします。
  • FileFormatUtil.verifyPassword(FileInputStream, string)メソッドを使用して、パスワードを確認します。
  • その結果、戻り値がtrueの場合、パスワードは有効です。それ以外の場合、パスワードは無効です。

次のコードサンプルは、Javaを使用して暗号化されたExcelファイルのパスワードを確認する方法を示しています。

// Streamオブジェクトを作成します
FileInputStream fstream = new FileInputStream("encrypted-workbook.xlsx");

// パスワードを照合します
boolean isPasswordValid = FileFormatUtil.verifyPassword(fstream, "1234");

// 結果を印刷する
System.out.println("Password is Valid: " + isPasswordValid);

無料のAPIライセンスを取得する

評価の制限なしにAPIを試してみたい場合は、無料の一時ライセンスを取得できます。

結論

この記事では、Javaを使用してExcelファイルを暗号化または復号化する方法を学習しました。さらに、暗号化されたExcelファイルのパスワードを確認する方法を見てきました。 Javaスプレッドシート操作APIについて詳しく知りたい場合は、ドキュメントにアクセスしてください。

関連項目