.net客户端调用java服务端,通讯数据加密解密思路及过程

本文讲述了在.NET客户端与Java服务端间实现用户数据安全传输的过程。为解决不同平台间加密算法不一致的问题,采取了将MD5运算放在Java端执行,并使用DES算法对传输数据进行加密的方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前系统客户端用.net实现,java服务端采用了webservice的方式向客户端提供服务。

要实现的功能:验证从.net客户端登陆的用户的合法性。用户从客户端登陆,需要调用java接口验证用户信息的合法性。原java系统中采用了MD5的方式对用户的某些数据进行加密,加密后的数据保存到了DB中。

问题1:用户的某些敏感数据不能在.net的客户端用MD5进行处理。
因为原java系统中用的MD5不是通用的算法,而是对通用MD5进行了改造。糟糕的是,现在做.net客户端的程序员无法实现这个MD5。

解决办法:MD5的工作由java端处理。
即客户端传明文到java端,由java端对用户数据进行MD5处理。这样就实现了用户信息验证的功能。同时又带来了另一个问题。


问题2:数据通讯中怎么能传明文呢?太不安全了吧,别人截获了http消息,不就拿到用户数据了吗,太危险了!

解决办法:
用户的数据需要在传输的过程中做加密处理。客户端和服务端一致决定采用DES的加密算法进行加密,但具体处理的过程
中又遇到了一些问题。


问题3:.net端加密出来的数据在java端却无法正确解密。
两边的加密解密不匹配。查了一些资料才知道,.net端默认的DES算法模式和java的不同。感叹互联网的威力啊,可以找到那么多的相关资料,然后我就修修补补,敲敲打打,历尽百辛千苦,终于小功告成,呵呵。


最后的解决办法:
1.客户端和服务端对通讯数据进行了加密处理,杜绝了传递明文。
2.MD5的工作放到java端来做。

我对数据加密所知甚少,而且对通用的处理方式也不太了解,真诚希望能够得到有经验的各位多多指点,谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值