我用3des结果和资料上的结果不一样呀,有没有朋友告诉,输入的字符要不要base64解码呢,我的密钥是base64编码过的,搞了很长时间没搞定,请朋友用java作了,和资料的结果一样的,有没有高手,帮助一下呀!!
采用3DES加密, ECB模式/使用PKCS7方式填充不足位,目前给的密钥是192位(24个字节)经过BASE64编码后的可见字符串。
以下为一个加密的例子: 密钥的base64编码是: 27jrWz2sxrVbR+pnyg6jWHhgNk4sZo46 DECODE后密钥是: key={-37,-72,-21,91,61,-84,-58,-75,91,71,-22,103,-54,14,-93,88,120,96,54,78,44,102,-114,58}; 源字符串是:3033$13311083060$D10$2004-02-24 16:19:27 其数组为: {51,48,51,51,36,49,51,51,49,49,48,56,51,48,54,48,36,68,49,48,36,50,48,48,52,45,48,50,45,50,52,32,49,54,58,49,57,58,50,55} 加密后的数组是: {42,-121,-80,127,7,5,-114,-32,112,-105,53,78,-121,-107,14,83,113,84,-1,-52,30,93,7,125,7,84,104,45,-27,82,-35,64,-87,-11,-91,95,66,-24,-81,125,36,-21,38,-121,-25,-1,-73,125} Base编码后: KoewfwcFjuBwlzVOh5UOU3FU/8weXQd9B1RoLeVS3UCp9aVfQuivfSTrJofn/7d9
加密流程 1.对获得的密钥进行Base64解码(解码后的密钥是字节数组) 2.使用解码后的密钥用3DES对源字符串加密(加密后的字符串也是字节数组) 3.对加密后的字符串进行Base64编码(编码后的是经过Base64编码的字符串) |