相关疑难解决方法(0)

创建加密的日志文件

我正在创建一个客户端应用程序,它需要创建用户活动的日志,但由于各种原因,此日志必须是人类可读的.

目前,对于我的开发,我正在创建一个纯文本日志,如下所示:

12/03/2009 08:34:21 - >用户'Bob'登录于12/03/2009 08:34:28 - >导航到配置页面12/03/2009 08:34:32 - >选项x改为ÿ

部署应用程序时,日志不能是纯文本,因此所有文本都必须加密.这看起来并不简单,因为我需要在添加每个条目时动态更新日志文件.我想到的方法是创建一个二进制文件,隔离加密每个日志条目,然后将它附加到二进制文件,每个条目之间有一些合适的分界.

有谁知道这个问题的任何常见方法,我相信必须有一个更好的解决方案!

encryption logging

9
推荐指数
3
解决办法
1万
查看次数

如何将加密数据写入文本文件?

我有一个项目,我们每隔5分钟就会向文件中写入少量数据.我们的想法是查看这些数据在数小时,数天和数周内的变化情况.

其中一个要求是以安全格式存储此数据.我们已经有了一种加密方案,可以通过DataI/O流将这些数据作为byte []数组通过网络发送.

我的问题是,有没有办法将加密的byte []数组写入文本文件,以便我可以将它们读出来?我目前最大的问题是我正在从文件中读取字符串,这会弄乱byte []数组.

关于去哪里的任何想法或指示?

java encryption file encryption-symmetric

5
推荐指数
1
解决办法
1703
查看次数

Java的加密记录器

我会先提出这个问题:

Java中是否有可用于加密的记录器(最好是128位AES或更好)?

在过去的几天里,我做了很多搜索.我发现了一些共同的主题:

  • 在log4j和log4j2之间解析信息让我感到头疼(但与手头的任务无关)
  • 大多数线程都是过时的,包括SO上的那些.这个可能是我在SO上找到的最好的,其中一个较新的答案链接到自己动手版本.
  • 最常见的答案是"自己动手",但这些答案在这一点上还有几年的历史.
  • 很多人质疑为什么我或任何人都会用Java来做这件事,因为即使没有源代码也很容易分析Java代码.

最后一点,这对我的项目来说几乎没有实际意义.我们还使用代码混淆器,并可以使用其他混淆技术.使用加密的目的只是为了提高我们的日志"非常简单"的标准,即使它只是"温和耗时".稍微相关一点 - 我们要加密的日志记录仅用于alpha/beta,并且可能只包括调试,警告和日志记录的错误级别(因此要加密的消息数量应该相当低) .

我在Log4j2中找到的最好的是他们的文档:

KeyProviders

Log4j中的某些组件可以提供执行数据加密的能力.这些组件需要密钥才能执行加密.应用程序可以通过创建实现SecretKeyProvider接口的类来提供密钥.

但是,除了"插件能够进行加密"之外,我还没有找到任何其他细节.我还没有找到实际具有该功能的插件.

我也刚刚开始尝试为Java找到其他记录器,看看它们是否有一个实现,但没有什么真正跳出来搜索'java logging encryption'之类的搜索.

java encryption logging

5
推荐指数
1
解决办法
2554
查看次数

Java加密日志

我正在制作游戏.我在内部构建了日志记录工具,并且有常规,日志,异常,发送,接收,调试等消息类型.

发送和接收日志包含原始日志记录信息,因此它们实际上包含我通过网络发送的内容.

游戏使用客户端 - 服务器模型并使用SSL连接,以便不能更改网络信息.但是对于日志记录,我将文本记录为纯文本,这显然会带来麻烦.我还计划简单地(通过*)屏蔽任何个人信息(如密码等)

但是我有一些顾虑:

  • 客户端程序包含与SSL一起使用的信任库,服务器的主机名/ IP和端口也不是真正的秘密.因此,如果一个人知道通过网络发送什么,那么他可以表现得像他是客户一样,对吧?
  • 如果一个人可以看到客户发送和接收的内容,那么他​​可以很容易地制作一个机器人.(这款游戏是一款基于回合制的2D游戏,所以只需依靠所有网络数据,您就可以玩我认为的游戏.无论如何都不需要鼠标技能.)

总而言之:我如何仍然记录所有信息并将其写入文件,但没有其他任何人能够以任何方式阅读,修改或使用它?

所有评论都非常感谢,我也很感激如何实施这样一个系统的具体建议.

问候.

java logging

3
推荐指数
1
解决办法
1052
查看次数

标签 统计

encryption ×3

java ×3

logging ×3

encryption-symmetric ×1

file ×1