如何在数据文件中存储安全信息



在我的服务器客户端程序中,我想知道客户端是否是官方的(因此,没有修改)。为此,我想实现版本检查,并且版本应该存储在数据文件或其他文件中。问题是,如何安全地存储这些信息?我不希望它在任何类型的文本阅读器上都是可读的,如果有人修改客户端,它肯定仍然不能用于修改后的程序。

我已经尝试了几种方法,比如使用Data In/Out StreamObject In/Out Stream,但它们在Notepad++之类的程序中都保持可见,而且它们仍然可以被任何非真实版本的客户端使用。

有没有办法做到这一点?

在这个意义上不要依赖"版本检查"。相反,使用签名的jar,这可以保证jar不能被修改并且仍然运行,并在与服务器通信时使用清单文件中的签名字段来确定客户端是否是授权版本。

http://docs.oracle.com/javase/tutorial/deployment/jar/signindex.html

最新更新