public static byte[] encrypt(String message, String key) throws Exception {
MessageDigest md = MessageDigest.getInstance("md5");
byte[] digestOfPassword = md.digest(key.getBytes("utf-8"));
byte[] keyBytes = Arrays.copyOf(digestOfPassword, 24);
int secretKey = 0;
for(int iv = 16; secretKey < 8; keyBytes[iv++] = keyBytes[secretKey++]) {
;
}
SecretKeySpec var10 = new SecretKeySpec(keyBytes, "DESede");
IvParameterSpec var11 = new IvParameterSpec(new byte[8]);
Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");
cipher.init(1, var10, var11);
byte[] plainTextBytes = message.getBytes("utf-8");
byte[] cipherText = cipher.doFinal(plainTextBytes);
return cipherText;
}
哪位大神用C#翻译一下如下Java代码(3DES加密)
答案:2 悬赏:30
解决时间 2021-04-06 12:25
- 提问者网友:房东的猫
- 2021-04-06 05:40
最佳答案
- 二级知识专家网友:晚安听书人
- 2021-04-06 05:58
为啥要“翻译”?
Java 的加解密类有其自己的内部实现,比如 SecretKeySpec、IvParameterSpec、Cipher 这几个对象,你用的时候直接声明一个对象就完了,实际上底层做了很多工作你是看不见的。
而 C# 也有自己的加解密类,完全不是说、也不需要“从XXX语言翻译”过来。3DES加解密这种算法随便一搜就有很多实现代码。
Java 的加解密类有其自己的内部实现,比如 SecretKeySpec、IvParameterSpec、Cipher 这几个对象,你用的时候直接声明一个对象就完了,实际上底层做了很多工作你是看不见的。
而 C# 也有自己的加解密类,完全不是说、也不需要“从XXX语言翻译”过来。3DES加解密这种算法随便一搜就有很多实现代码。
全部回答
- 1楼网友:哥在撩妹请勿打扰
- 2021-04-06 06:05
没看懂什么意思?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯