C#加密如何用Java来实现?

发布于 2021-11-27 09:02:19 字数 1184 浏览 831 评论 6

我在做安卓客户端,是一个辅助桌面的应用,服务端的加密代码是别人之前用C#实现的,这个代码不能修改,现在我要用Java去实现这个加密,我也不知道怎么去写这个加密,求大神帮忙。下面是C#实现加密的代码:

/// Text是要加密的字符串,sKey是密钥
public static string Encrypt(string Text, string sKey)
{
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    byte[] inputByteArray;
    inputByteArray = Encoding.Default.GetBytes(Text);
    des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
    des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
    System.IO.MemoryStream ms = new System.IO.MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();
    StringBuilder ret = new StringBuilder();
    foreach (byte b in ms.ToArray())
    {
        ret.AppendFormat("{0:X2}", b);
    }
    return ret.ToString();
}



这个C#加密用Java如何去实现?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

沦落红尘 2021-11-30 17:32:32

回复
DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 这不DES的类?

少女情怀诗 2021-11-30 17:32:30

回复
这个是DES的类,但是下面那两段跟MD5相关的又是啥意思啊,我有点不明白

爱的那么颓废 2021-11-30 17:31:47

回复
就是des.KEY和des.IV那两段代码

辞别 2021-11-30 17:28:59

回复
那只是对这二个KEY作个MD5而已,本身的加密码就是DES

别再吹冷风 2021-11-30 13:44:56
public static byte[] encrypt(byte[] src, byte[] key) throws Exception {
		// DES算法要求有一个可信任的随机数源
		SecureRandom sr = new SecureRandom();

		// 从原始密匙数据创建DESKeySpec对象
		DESKeySpec dks = new DESKeySpec(key);

		// 创建一个密匙工厂,然后用它把DESKeySpec转换成一个SecretKey对象
		SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
		SecretKey securekey = keyFactory.generateSecret(dks);

		// Cipher对象实际完成加密操作
		Cipher cipher = Cipher.getInstance(DES);

		// 用密匙初始化Cipher对象
		cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);

		// 执行加密操作
		return cipher.doFinal(src);
	}

冷清清 2021-11-27 12:27:14

搜索 java DES 加解密

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文