手上有一人项目,是用手机端访问网站(只能手机访问),并将网站当前页面的所有HMTL标签传送给后台,后台采用的是.NET;在.NET端都是以GET页面公开地址的方式访问,但在URL内传送HTML标签会报错,所以采用在JAVA端将获取到的内容用DES加密,然后再到.NET解密,但现在出现一个问题,JAVA端加后在.NET端解密码不成功。不懂的JAVA的代码,
java端代码:
public static final String SREDES="DES"; public static final String KEYDES="comDDDDXXX"; /** * Description 根据键值进行加密 * @param data * @param key * 加密键byte数组 * @return * @throws Exception */ public static String encrypt(String data, String key) throws Exception { byte[] bt = encrypt(data.getBytes(), key.getBytes()); String strs = Base64.encode(bt); return strs; }
private static byte[] encrypt(byte[] data, byte[] key) throws Exception { // 生成一个可信任的随机数源 SecureRandom sr = new SecureRandom();
// 从原始密钥数据创建DESKeySpec对象 DESKeySpec dks = new DESKeySpec(key);
// 创建一个密钥工厂,然后用它把DESKeySpec转换成SecretKey对象 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(SREDES); SecretKey securekey = keyFactory.generateSecret(dks);
// Cipher对象实际完成加密操作 Cipher cipher = Cipher.getInstance(SREDES);
// 用密钥初始化Cipher对象 cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
return cipher.doFinal(data); }
在.NET内需要先定一个向量IV,然后再给一个加密码的KEY,再根据这两个对内容进行加密,以上的代码中,如何分析那个能跟IV对应。求JAVA大神帮忙分析分析
另外各位是否有过JAVA加密,.NET解密的源码,给否给个参考,先谢过啦
添加回答
举报
0/150
提交
取消