我需要加密 ISO 8583消息...这里的问题是消息比 key 长。我需要有人帮我加密这个字符串。
例如:我的字符串中有 300 个字符;我应该单独加密每 16 个字符然后连接它们,因为我的主 key 长度是 16 个字节吗?
感谢您的帮助...
ISO 8583-1:2003 源自金融交易卡的消息 -- 交换消息规范 -- 第 1 部分:消息、数据元素和代码值。
最佳答案
DES 是分组密码,分组密码有不同的操作模式。
您提到的模式被称为 ECB(电子密码本),并且不是很安全(实际上,DES 也不是,但稍后会详细介绍)。
我建议您使用 CBC 或其他一些模式。
您可以在此处阅读有关分组密码操作模式的信息:Block cipher modes of operation
至于密码本身,我建议您尽可能避免使用 DES。现在 DES 非常容易破解。请使用 AES,如果 AES 不可用,至少使用 3DES。
编辑:响应 updated question ,是的,如果明文大小不是 block 大小的倍数,则需要填充最后一个 block 。
关于c - DES 加密和密码模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/525734/