C#加密如何用Java来实现?
我在做安卓客户端,是一个辅助桌面的应用,服务端的加密代码是别人之前用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(); }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
回复
DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 这不DES的类?
回复
这个是DES的类,但是下面那两段跟MD5相关的又是啥意思啊,我有点不明白
回复
就是des.KEY和des.IV那两段代码
回复
那只是对这二个KEY作个MD5而已,本身的加密码就是DES
搜索 java DES 加解密