crypto-js DES加密和填充

时间:2013-09-11 09:57:35

标签: javascript encryption cryptojs

我需要Crypto-JS在8字节块上执行DES加密(现在)。但是,我在没有填充的情况下在crypto-js中遇到这个问题。

当我表演时:

var skl = CryptoJS.DES.encrypt ( CryptoJS.enc.Hex.parse ( "0000000000000000" ), CryptoJS.enc.Hex.parse ( "0000000000000000"), 
                                 { iv : CryptoJS.enc.Hex.parse ( "0000000000000000" ), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.NoPadding } );

我没有输出。 CBC模式不需要填充,但我已经尝试了所有其他块模式(OFB / CFB等),但仍然没有输出。当我使用Pkcs7时,它确实提供输出,但它填充输入块,导致16字节的密码消息。我想当你指定填充时,即使块大小兼容,它总是会填充?

var skl = CryptoJS.DES.encrypt ( CryptoJS.enc.Hex.parse ( "0000000000000000" ), CryptoJS.enc.Hex.parse ( "0000000000000000"), 
                                 { iv : CryptoJS.enc.Hex.parse ( "0000000000000000" ), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 } );

我是否以正确的方式指定输入数据(通过十六进制解析)?重要的是我加密固定大小的原始字节&似乎没有任何这方面的例子。

没有填充的DES加密数据的正确方法是什么?

0 个答案:

没有答案