gpg: WARNING: message was not integrity protected
gpg: Hint: If this message was created before the year 2003 it is
likely that this message is legitimate. This is because back
then integrity protection was not widely used.
gpg: Use the option '--ignore-mdc-error' to decrypt anyway.
PGPEncryptedDataGenerator cPk = new PGPEncryptedDataGenerator(new BcPGPDataEncryptorBuilder(SymmetricKeyAlgorithmTags.TRIPLE_DES).setSecureRandom(new SecureRandom()));
这正是信息所说的。这里描述了完整性保护:https://tools.ietf.org/html/rfc4880#section-5.13
我认为您引用的代码没有在BcPGPDataEncryptorBuilder上设置withIntegrityPacket标志
所以我会改变:
PGPEncryptedDataGenerator cPk = new PGPEncryptedDataGenerator(new BcPGPDataEncryptorBuilder(SymmetricKeyAlgorithmTags.TRIPLE_DES).setSecureRandom(new SecureRandom()));
PGPEncryptedDataGenerator cPk = new PGPEncryptedDataGenerator(new BcPGPDataEncryptorBuilder(SymmetricKeyAlgorithmTags.TRIPLE_DES).setSecureRandom(new SecureRandom()).setWithIntegrityPacket(true));
问题内容: 我正在建立一个Drupal网站,其中包含许多将使用jQuery / ajax发布的用户特定信息。它自身的信息不是很敏感,仅重要的是验证表单数据是否已被诸如Firebug之类的工具篡改,并确保确实已从指定用户请求该信息。换句话说,我正在尝试找出用ajax发布时保护数据完整性和真实性的最佳方法。 理想情况下,我想使用一些众所周知的消息身份验证系统,例如HMAC算法。但是,由于它包含对称密钥
问题内容: 我已经建立了我的第一个应用程序,我想用密码保护它。将密码存储在Java文件中对我来说很好,并且该方法需要尽可能简单,因为在此应用程序之前我没有Java甚至xml的经验。我尝试了几次但都失败了,所以我希望有人能帮助我。 我使用EditText字段创建了布局: 和一个提交按钮: Java文件: 问题答案: 这部分: 是不正确的。它应该是 当比较基本数据类型(如,,),您可以使用,等 当比较
我一直在尝试使用BouncyCastle库来进行PGP加密/解密。我有一些代码需要修改,以便只使用流-不使用文件。 我尝试移除pgputilities.writeFileToliteralData(),然后让它返回一个流,但没有成功(输出流为空)。 这里更明确的是方法应该是什么: 下面是我需要修改的代码:
我有一个连接到数据库的java应用程序。 数据库的用户名和密码存储在属性文件中。 避免在属性文件中以明文形式存储密码同时仍然保留让用户更改它的选项的常见做法是什么? 这里的主要动机是防止有人在管理员编辑属性文件时越过管理员的肩膀看到密码。 我在这里读到,有一个内置的方法可以在C#中做到这一点。 了解java,我不期望找到一个内置的解决方案,但我想听听其他人在做什么。 如果我找不到任何好的选择,那么
我正在使用AES加密实现一个加密字符串的程序,并希望将我的“密钥”保存在一个文件中,而不是在源代码中硬编码。 但是,这给我带来了一个问题,我如何保护这个秘密密钥不被他人看到? 如果我要再次加密这个“密钥文件”,我将不得不再次处理同样的问题。 我该如何处理这些问题? 参考:https://wiki.sei.cmu.edu/confluence/display/java/MSC61-J.不要使用不安全