Java 如何使用单个密钥加密数据存储的不同部分?
我想在谷歌应用程序引擎的数据存储中存储加密信息。我想用一个硬编码到程序中的键来实现这一点,而不是签入源代码管理,这样,破坏数据存储的人就无法读取其内容Java 如何使用单个密钥加密数据存储的不同部分?,java,google-app-engine,encryption,Java,Google App Engine,Encryption,我想在谷歌应用程序引擎的数据存储中存储加密信息。我想用一个硬编码到程序中的键来实现这一点,而不是签入源代码管理,这样,破坏数据存储的人就无法读取其内容 我的问题如下。我需要能够使用相同的密钥以任意顺序加密和解密一组字符串(序列化对象转换为十六进制)。这意味着由于关键的重用原因,流密码是不可能的。哪些库、算法或技术允许我对相互独立的信息片段进行加密,而不会因使用同一密钥而造成弱点?您可以在中使用分组密码(例如AES)。在此模式下,如果您知道每个数据块是计数器,则可以分别对其进行加密/解密。将计数器
我的问题如下。我需要能够使用相同的密钥以任意顺序加密和解密一组字符串(序列化对象转换为十六进制)。这意味着由于关键的重用原因,流密码是不可能的。哪些库、算法或技术允许我对相互独立的信息片段进行加密,而不会因使用同一密钥而造成弱点?您可以在中使用分组密码(例如AES)。在此模式下,如果您知道每个数据块是计数器,则可以分别对其进行加密/解密。将计数器存储在黑客可以访问的地方是否不安全?@user3078921计数器不需要保密。但是,它应该是唯一的,因此没有两个块使用相同的计数器和密钥进行加密。