有没有一种简单的方法来加密java对象?

2024-04-27

我想将序列化对象存储到文件中,但我想对其进行加密。它不需要非常强的加密。我只是想要一些简单的东西(最好是最多几行代码),这会让其他人加载起来更加困难。我已经研究过 SealedObject 但关键是阻止我。理想情况下,我只想传递一个字符串作为加密/解密对象的密钥。

有什么建议么?


试试这个代码:

String fileName = "result.dat"; //some result file

//You may use any combination, but you should use the same for writing and reading
SecretKey key64 = new SecretKeySpec( new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }, "Blowfish" );
Cipher cipher = Cipher.getInstance( "Blowfish" );

//Code to write your object to file
cipher.init( Cipher.ENCRYPT_MODE, key64 );
Person person = new Person(); //some object to serialise
SealedObject sealedObject = new SealedObject( person, cipher);
CipherOutputStream cipherOutputStream = new CipherOutputStream( new BufferedOutputStream( new FileOutputStream( fileName ) ), cipher );
ObjectOutputStream outputStream = new ObjectOutputStream( cipherOutputStream );
outputStream.writeObject( sealedObject );
outputStream.close();

//Code to read your object from file
cipher.init( Cipher.DECRYPT_MODE, key64 );
CipherInputStream cipherInputStream = new CipherInputStream( new BufferedInputStream( new FileInputStream( fileName ) ), cipher );
ObjectInputStream inputStream = new ObjectInputStream( cipherInputStream );
SealedObject sealedObject = (SealedObject) inputStream.readObject();
Person person1 = (Person) sealedObject.getObject( cipher );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有一种简单的方法来加密java对象? 的相关文章

随机推荐

  • 使用IntelliJ编译Java 7,配置麻烦

    我正在使用 IntelliJ 并尝试让它与 Java 7 一起工作 我的 JDK 设置为指向最新的 JDK 此外 项目也设置使用它 然而 当尝试编写 Java7 代码时 它的语法无法被识别 请问我缺少什么 Set the 项目语言水平 to
  • 如何计算Java数组的内存大小?

    我知道如何通过添加三个部分来计算Java对象的内存大小 标头 属性 引用 我还知道Java数组也是一个对象 但是当我读到 Understanding the JVM Advanced Features and Best Practices
  • 如何检查 C# 中动态匿名类型上是否存在属性?

    我有一个匿名类型对象 我从方法中以动态方式接收该对象 我想检查该对象上是否存在属性 var settings new Filename temp txt Size 10 function void Settings dynamic sett
  • ANSI C - 清除字符串

    我有一个这样声明的字符串 str malloc sizeof char 128 我想彻底清除它 这样当我这样做时strncat 操作时 新字符将被写入到开头str 我需要清除它的原因是我正在用它本身的简化版本重写它 删除多余的空格 我建议你
  • 如何编写通用 C 函数来调用 Win32 函数?

    为了允许从脚本语言 用 C 编写 访问 Win32 API 我想编写一个如下所示的函数 void Call LPCSTR DllName LPCSTR FunctionName LPSTR ReturnValue USHORT Argume
  • optim() 中的错误:搜索单变量函数的全局最小值

    我正在尝试优化 R 中的函数 该函数是仅估计时负二项式的似然函数mu范围 这应该不是问题 因为该函数显然只有一个最大值点 但是 我无法达到理想的结果 需要优化的函数为 EMV lt function data par Mi lt par P
  • 如何使用 Autoit / Autohotkey 模仿 Visual Studio 的“Ctrl-K、C”两步宏行为?

    I m trying to set up AutoHotkey http www autohotkey com macros for some common tasks and I want the hotkeys to mimic Vis
  • Angular 4 中的多个顺序 API 调用

    我有一系列图像对象 console info gallery galleryArray 该数组的长度可以不同 我必须对该数组的每个项目发出 POST 请求 只有在前一个请求完成后 才能执行下一个请求 所以我尝试发出一系列可观察的请求 如下所
  • JSF 2.0 动态属性,无需创建新组件

    如何向未定义这些属性的组件添加新属性而不创建自己的属性 我想做这样的事情
  • 开始作业时无法识别功能

    我在模块 sysinfo psm1 中创建了一个函数 Get Uptime 并导入了该模块 C pstools gt get command Module sysinfo CommandType Name Definition Functi
  • 按任意顺序对 SQL 行输出进行排序?

    因此 在我的数据库中 我存储乐器名称 以及各种其他属性 比方说id是主键 并且name是唯一的密钥 在 PHP 脚本中 我按仪器类别选择项目 如下所示 name mysql real escape string POST name row
  • Django 1.7 makemigrations 将表重命名为 None

    我必须将一些模型从一个应用程序移动到另一个应用程序 并且我按照此答案中的说明进行操作https stackoverflow com a 26472482 188614 https stackoverflow com a 26472482 1
  • 使用表单主体的 Spring MVC 控制器方法映射

    我正在构建一个小型应用程序 作为工作中某些第三方库的客户端 API 指出Webhook需要响应一些异步事件 但除了更改之外 它们的所有方法都具有完全相同的签名 method调用之间的字段 例如 我有一个 method ping media
  • 获取数据框列表并按变量分组,然后使用该变量作为字典的键

    我对 python 编程比较陌生 我有一个 pandas 数据框列表 其中都有 年份 列 我试图按该列进行分组并转换为字典 其中字典键是变量 年份 值是该年的数据帧列表 这在Python中可能吗 我试过这个 grouped dict lis
  • 验证表单中是否存在嵌套属性

    我有以下协会 models contact rb class Contact lt ActiveRecord Base has many contacts teams has many teams through contacts acce
  • 重新加载不适用于 jqgrid

    以下代码不会重新加载网格 myjqgrid trigger reloadGrid 如果我理解正确的话 即使数据没有更改 它也应该进行 ajax 调用并重新加载网格 HTML table table div div JSON colModel
  • C++11:通用执行器

    我想知道如何编译此代码 test3 cpp include
  • 让浏览器在登录
    中保存用户名/密码值?

    我有一个 GWT 应用程序 需要一个用户登录表单 我想让浏览器保存用户的用户名和密码 我相信我需要为此使用一种 常规 形式 不是由 GWT 生成的形式 所以我做了一个简单的表格
  • 将列表与 R 中的矩阵行进行匹配

    a 是列表 b 是矩阵 a lt list matrix c 0 2 0 1 0 2 0 0 1 0 0 0 0 0 2 2 4 matrix c 0 1 0 0 0 1 1 0 0 0 0 0 3 matrix c 0 0 0 0 2 0
  • 有没有一种简单的方法来加密java对象?

    我想将序列化对象存储到文件中 但我想对其进行加密 它不需要非常强的加密 我只是想要一些简单的东西 最好是最多几行代码 这会让其他人加载起来更加困难 我已经研究过 SealedObject 但关键是阻止我 理想情况下 我只想传递一个字符串作为