SealedObject(javax.crypto.SealedObject)

该类使程序员能够使用加密算法创建对象并保护其机密性。

给定任何 Serializable 对象,可以创建一个封装原始对象的 SealedObject ,以序列化格式(即深拷贝),并使用 AES,DES 等加密算法密封(加密)其序列化内容。它的机密性。稍后可以解密加密的内容(使用相应的算法使用正确的解密密钥)并反序列化,从而产生原始对象。

StackOverflow 文档

Serializable obj = new String("John");
// Generate key
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128);
SecretKey aesKey = kgen.generateKey();
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
SealedObject sealedObject = new SealedObject(obj, cipher);
System.out.println("sealedObject-" + sealedObject);
System.out.println("sealedObject Data-" + sealedObject.getObject(aesKey));