Javascript 加密和填充

Javascript 加密和填充,javascript,encryption,cryptojs,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.

我需要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加密数据的正确方法是什么