以前加密解密,不论用MD5还是DES或者其它加密算法都是在一个语言环境下进行的都没啥问题。
但是有一个项目功能用FLEX进行开发,对一些敏感数据进行DES数据加密,采用的是as3crypto插件(这个是Flex中常用的加密插件,其中包含有很多种加密方式),但是后来随业务需求拓展需要在Android端显示数据,于是用WebServices+HTML5+JqueryMobile结合phoneGap技术进行开发,开始很顺利很快出了一个Demo小样,但是后来需要显示被FLEX加密过的数据遇到问题,利用相同的密钥和DES算法在C#中就是无法解密。很是郁闷,从网上查找很多资料大概了解产生的原因,每种开发语音对同一个加密算法是不同的,所有在不同平台或开发语言下进行相同的加密解密是不能够得到想要的。
知道原理咱们就自立更生,好在as3crypto是开源的(这个很好,哈哈)把它的DES源代码翻译成C#语言应该就OK了(感谢网上一个哥们的提醒,在他的基础上我有进行了调整,解决了很多细节问题例如密钥长度问题,很是辛苦啊)
终于实现了我想要的在Flex加密后在Webservices中可以进行解密,同样在WebServices加密后在Flex中进行解密。
先我把flex中as3crypto插件和C#中的转换的DES类公布出来,方便需要的人做个参考。
下载地址:http://download.csdn.net/detail/dulgao/6721357 (有下载分数,希望理解:))
如果没有积分 可以给我发邮件:unity3d@163.com。