在前面的示例中,如何使用DES加密对象?我们加密一个对象。在此示例中,我们将解密存储的对象。
package org.nhooo.example.crypto; import java.io.*; import javax.crypto.SecretKey; import javax.crypto.Cipher; import javax.crypto.SealedObject; public class ObjectDecrypt { public static void main(String[] args) throws Exception { // 阅读以前存储的SecretKey。 SecretKey key = (SecretKey) readFromFile("secretkey.dat"); // 读取SealedObject SealedObject sealedObject = (SealedObject) readFromFile("sealed.dat"); // 从解密中准备密码对象。 if (sealedObject != null) { String algorithmName = sealedObject.getAlgorithm(); Cipher cipher = Cipher.getInstance(algorithmName); cipher.init(Cipher.DECRYPT_MODE, key); String text = (String) sealedObject.getObject(cipher); System.out.println("Text = " + text); } } // 读取文件中存储的对象的方法。 private static Object readFromFile(String filename) throws Exception { try (FileInputStream fis = new FileInputStream(new File(filename)); ObjectInputStream ois = new ObjectInputStream(fis)) { return ois.readObject(); } catch (Exception e) { e.printStackTrace(); } return null; } }