在这个问题的答案中,我找到了一个答案:TurboPower LockBox 3: AES128和填充ISO 10126
(2)对于大多数链式模式,TPLB3会自动添加salt。这通常是一件好事,但如果您需要它没有,您可以删除它的选项。
我怎么能这么做?也就是说,我需要加密,它的密码文本长度与纯文本长度相同。
发布于 2014-11-06 01:01:10
假设您没有使用欧洲央行,最简单的方法将是删除前8个字节的密文。前8个字节(64位)是盐位。它也是低64位的IV。高64位的IV是零。
请注意:不把你的信息放盐是非常糟糕的做法,也是一个安全弱点。(有关更多信息,请参阅维基百科 )。你说你需要加密,它的密文长度和明文长度相同。这基本上是说,你想要弱加密。这取决于你,但我的建议是在进行之前仔细考虑你的要求。
另一种技术是创建您自己的链接模式,并将其注册到加密库中。例如,如果您希望CBC不带salt,则创建一个来自TCBC (单元TPLB3.CBC)的类子代,只需重写ChainingFeatures()函数来添加cfNoNounce特性。参考单元to 3中的内联注释。然而,我的建议是第一种方法。
您还可以阅读相关问题的答案:
还请注意,如果您使用的是欧洲央行的链接模式,则没有salt,此模式具有自动的cfNoNounce功能。(欧洲央行是坏的。不要使用它,除非用于测试目的)。
脚注:
我是TPLockBox 3的主要作者,我在以下位置维护了库的版本:
我假设您使用的是该版本,而不是SourceForge版本。我期待在2014年11月7日发布3.6.0版。
https://stackoverflow.com/questions/26765881
复制相似问题