เข้ารหัสถอดรหัสไฟล์ excel ใน java

MS Excel มีคุณลักษณะมากมายให้คุณเก็บและวิเคราะห์ข้อมูลได้อย่างราบรื่น คุณสามารถดำเนินการคำนวณ สร้างแผนภูมิ ตลอดจนกำหนดตรรกะที่กำหนดเองของคุณโดยใช้โมดูล VBA รู้ถึงความสำคัญของข้อมูลในสเปรดชีต MS Excel ช่วยให้คุณสามารถปกป้องสมุดงานโดยใช้การเข้ารหัส นอกจากนี้ คุณสามารถใส่รหัสผ่านป้องกันไฟล์ Excel เพื่อหลีกเลี่ยงการเข้าถึงโดยไม่ได้รับอนุญาต ตามนั้น บทความนี้ครอบคลุมวิธีเข้ารหัส/ถอดรหัสและป้องกันด้วยรหัสผ่านไฟล์ Excel โดยใช้ Java

Java API เพื่อเข้ารหัสและถอดรหัสไฟล์ Excel

Aspose.Cells for Java คือ API การจัดการสเปรดชีตที่มีประสิทธิภาพซึ่งช่วยให้คุณสร้างและจัดการไฟล์ Excel ได้อย่างราบรื่น นอกจากนี้ยังช่วยให้คุณสามารถเข้ารหัสและถอดรหัสสมุดงานได้ภายในโค้ดไม่กี่บรรทัด นอกจากนี้ คุณสามารถป้องกันไฟล์ 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>

เข้ารหัสไฟล์ Excel โดยใช้ Java

Aspose.Cells for Java มีประเภทการเข้ารหัสต่อไปนี้สำหรับไฟล์ Excel 2003

อย่างไรก็ตาม สมุดงาน 2007/2010 ได้รับการเข้ารหัสโดยใช้เทคนิคการเข้ารหัส SHA และ AES ในลักษณะเดียวกับที่ MS Excel ทำ ต่อไปนี้เป็นขั้นตอนในการเข้ารหัสไฟล์ Excel โดยใช้ Aspose.Cells for Java

สำหรับการสาธิต ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเข้ารหัสไฟล์ Excel โดยใช้ Java

// สร้างอินสแตนซ์วัตถุสมุดงานด้วยเส้นทางไฟล์ excel
Workbook workbook = new Workbook("workbook.xlsx");

// รหัสผ่านป้องกันไฟล์
workbook.getSettings().setPassword("1234");

// เข้ารหัสโดยระบุประเภทการเข้ารหัส
workbook.setEncryptionOptions(EncryptionType.XOR, 40);

// ระบุประเภทการเข้ารหัสที่รัดกุม (RC4, Microsoft Strong Cryptographic Provider)
workbook.setEncryptionOptions(EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128);

// บันทึกไฟล์ Excel ที่เข้ารหัส
workbook.save("encrypted-workbook.xlsx");

ถอดรหัสไฟล์ Excel โดยใช้ Java

ในการถอดรหัสไฟล์ Excel ที่เข้ารหัส คุณจะต้องระบุรหัสผ่านเท่านั้น และส่วนที่เหลือจะถูกจัดการโดย Aspose.Cells for Java ต่อไปนี้เป็นขั้นตอนในการถอดรหัสไฟล์ Excel โดยใช้ Java

  • สร้างอินสแตนซ์ของคลาส LoadOptions
  • ระบุรหัสผ่านโดยใช้เมธอด LoadOptions.setPassword(string)
  • สร้างอินสแตนซ์ของคลาส Workbook และส่งเส้นทางของไฟล์และวัตถุ LoadOptions ไปยังตัวสร้าง
  • ตั้งรหัสผ่านเป็น null โดยใช้วิธี Workbook.getSettings().setPassword(string)
  • เมื่อเสร็จแล้ว ให้บันทึกสมุดงานที่ถอดรหัสโดยใช้เมธอด Workbook.save(string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีถอดรหัสไฟล์ Excel ที่ป้องกันด้วยรหัสผ่านโดยใช้ Java

// เริ่มต้นตัวเลือกการโหลด
LoadOptions loadOptions = new LoadOptions(LoadFormat.XLSX);

// ตั้งรหัสผ่านเดิม
loadOptions.setPassword("1234");

// สร้างอินสแตนซ์วัตถุสมุดงานด้วยเส้นทางของไฟล์ Excel
Workbook workbook = new Workbook("encrypted-workbook.xlsx", loadOptions);

// ตั้งรหัสผ่านเป็นโมฆะ
workbook.getSettings().setPassword(null);

// บันทึกไฟล์ Excel ที่ถอดรหัสแล้ว
workbook.save("decrypted-workbook.xlsx");

ตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัส

นอกเหนือจากการเข้ารหัส/ถอดรหัส Aspose.Cells for Java ยังให้คุณตรวจสอบรหัสผ่านของไฟล์ Excel ที่ได้รับการป้องกัน ต่อไปนี้เป็นขั้นตอนในการยืนยันรหัสผ่าน

  • โหลดไฟล์ Excel ที่เข้ารหัสโดยใช้คลาส FileInputStream
  • ใช้เมธอด FileFormatUtil.verifyPassword(FileInputStream, string) เพื่อยืนยันรหัสผ่าน
  • ดังนั้น หากค่าที่ส่งกลับเป็นจริง แสดงว่ารหัสผ่านนั้นถูกต้อง มิฉะนั้นก็จะไม่ถูกต้อง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัสโดยใช้ Java

// สร้างวัตถุสตรีม
FileInputStream fstream = new FileInputStream("encrypted-workbook.xlsx");

// ยืนยันรหัสผ่าน
boolean isPasswordValid = FileFormatUtil.verifyPassword(fstream, "1234");

// ผลการพิมพ์
System.out.println("Password is Valid: " + isPasswordValid);

รับใบอนุญาต API ฟรี

ในกรณีที่คุณต้องการลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน คุณสามารถ รับใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีเข้ารหัสหรือถอดรหัสไฟล์ Excel โดยใช้ Java นอกจากนี้ คุณได้เห็นวิธีการตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัสแล้ว ในกรณีที่คุณต้องการสำรวจเพิ่มเติมเกี่ยวกับ API การจัดการสเปรดชีต Java โปรดไปที่ เอกสารประกอบ

ดูสิ่งนี้ด้วย