public static String desDecrypt(String message, String key) throws Exception {
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
cipher.init(Cipher.DECRYPT_MODE, secretKey, iv); BASE64Decoder decoder = new BASE64Decoder();
byte[] ciphertext = cipher.doFinal(decoder.decodeBuffer(message));
String cipertextString = new String(ciphertext);
return cipertextString;
}
翻译为NET
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); DESKeySpec desKeySpec = new DESKeySpec(key.getBytes("UTF-8"));
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
IvParameterSpec iv = new IvParameterSpec(key.getBytes("UTF-8"));
cipher.init(Cipher.DECRYPT_MODE, secretKey, iv); BASE64Decoder decoder = new BASE64Decoder();
byte[] ciphertext = cipher.doFinal(decoder.decodeBuffer(message));
String cipertextString = new String(ciphertext);
return cipertextString;
}
翻译为NET
解决方案 »
- win 7 64位无法在IIS上启用调试吗?
- 关于forms验证的问题
- 在VS2005的ASP.NET配置中,当点击“使用安全设置向导按部就班地配置配置安全性”链接时,出现“指定的参数已超出有效值的范围”错误。
- 利用业余时间做了有一个网站,基于asp.net,大家给点意见。散分
- 问个小问题
- 怎么获取网站的名称
- 小小问题,大家来帮...
- 如何实现这个按条件显示?
- asp.net2.0 SelectedNodeStyle没用
- 菜鸟就10份了 谢谢帮我解决个sql
- asp.net中 如何用multiview 控件和menu 控件制作【竖向】选项卡?
- jQuery.validate 用法 疑惑(用过的人进来,在线等)
懒得翻。我只是提醒你,只有这两行代码 BASE64Decoder decoder = new BASE64Decoder();
byte[] ciphertext = cipher.doFinal(decoder.decodeBuffer(message));这才是真正的des解密,而其它代码都属于应用系统为des解密所增加的外部流程。我们之所以听有人说“那个是des加密的,我怎么进行des解密就不正确?”,其实人家输出的根本就是应用程序进行了处理的结果,而不仅仅是什么des解密,这时候你的所谓解密就需要根据人家的des解密以外的外部处理流程进行额外的逆操作才行。
JAVA和C# 3DES加密解密