麻烦牛人将java代码转换为c#或vb.net代码,要求能够运行且功能相同。

frankwong 2019-05-06 05:05:44
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;


public class TripleDes {

public static String encroptMode = "ECB";
public static String paddingMode = "PKCS5Padding";
public static String algorithm = "DESede";
public static String charset = "UTF-8";

public static void main(String[] args) {

String oriData = "aabbcc";
String keyStr = "abcdefghijklmnopqrstuvwxyz123456"; //24位密钥,经base64编码
System.out.println("oriData:"+oriData);

String encData = EncryptData(oriData,keyStr);
System.out.println("encData:"+encData);

String decData = DecryptData(encData,keyStr);
System.out.println("decData:"+decData);
}

/**
* 加密
*/
public static String EncryptData(String oriData, String keyStr) {

BASE64Decoder base64decoder = new BASE64Decoder();
BASE64Encoder base64encoder = new BASE64Encoder();

try {
byte[] keyBytes = base64decoder.decodeBuffer(keyStr);
SecretKey key = new SecretKeySpec(keyBytes, "DESede");
Cipher cipher = Cipher.getInstance(algorithm + "/" + encroptMode + "/" + paddingMode);
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encryptBytes = cipher.doFinal(oriData.getBytes(charset));
String encryptStr = base64encoder.encode(encryptBytes);
return encryptStr;

} catch (Exception e) {
e.printStackTrace();
return "";
}

}

/**
* 解密
*/
public static String DecryptData(String encData, String keyStr) {

BASE64Decoder base64decoder = new BASE64Decoder();

try {
byte[] keyBytes = base64decoder.decodeBuffer(keyStr);
SecretKey key = new SecretKeySpec(keyBytes, "DESede");
Cipher cipher = Cipher.getInstance(algorithm + "/" + encroptMode + "/" + paddingMode);
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decBytes = cipher.doFinal(base64decoder.decodeBuffer(encData));
String decData = new String(decBytes, charset);
return decData;

} catch (Exception e) {
e.printStackTrace();
return "";
}

}




}
...全文
314 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2019-05-07
  • 打赏
  • 举报
回复
十八道胡同 2019-05-07
  • 打赏
  • 举报
回复
BASE64Decoder -> byte[] bytes=Encoding.Default.GetBytes(""); Convert.ToBase64String(bytes); byte[] b= Convert.FromBase64String(""); string orgStr= Encoding.Default.GetString(b);
十八道胡同 2019-05-07
  • 打赏
  • 举报
回复
C#里面都有现成的类库的。 而且语法差不多, 还有需要帮忙的吗?
frankwong 2019-05-07
  • 打赏
  • 举报
回复
结不了贴怎办?
frankwong 2019-05-06
  • 打赏
  • 举报
回复
问题解决了,自己顶

50,549

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧