文件加密解密系统Android与其他系统间DES加密解密的处理经验

Android与其他系统间DES加密解密的处理经验,在软件开发中,各系统间经常要进行数据交互,基于安全考虑都会进行数据加密。由于不同的开发环境,编程语言导致加密解密经常出现问题。我在开发Adroid与C#程序之间的数据交互时也遇到了这个问题,C#系统采用DES加密字符串,Adroid用DES解密就是不成功,从网上搜了许多源码都不能用,现将处理经...
     在软件开发中,各系统间经常要进行数据交互,基于安全考虑都会进行数据加密。由于不同的开发环境,编程语言导致加密解密经常出现问题。我在开发Android与C#程序之间的数据交互时也遇到了这个问题,C#系统采用DES加密字符串,Android用DES解密就是不成功,从网上搜了许多源码都不能用,现将处理经验与大家分享一下。步骤阅读工具/原料eclipse方法/步骤1以下这行代码为Android加密的核心语句:Ciphercipher=Cipher.getInstance(\"DES/ECB/NoPadding\"); 其中的参数含义为:DES为加密算法,ECB为加密模式,NoPadding为填充模式.步骤阅读2Cipher类为加密和解密提供密码功能,转换始终包括加密算法的名称(例如,DES),后面可能跟有一个加密模式和填充方案。Cipher.getInstance的参数格式:\"加密算法/加密模式/填充模式\"或 \"算法\"步骤阅读3常用加密算法:DES、3DES、RC4、AES等;加密模式:ECB、CBC、CFB、OFB等;填充模式:NoPadding、PKCS1Padding、PKCS5Padding、PKCS7Padding步骤阅读4以上不同参数的组合将生成完全不同的密文。我就是用不同的参数组合一个个测试,才最终解决加解密的问题。以下加密参数我都试了一遍。DES/CBC/PKCS5Padding,DES/CFB/PKCS5Padding,DES/ECB/PKCS5Padding,DES/OFB/PKCS5Padding,DES/CFB/NoPadding,DES/CBC/NoPadding,DES/ECB/NoPadding,DES/OFB/NoPadding,最后使用参数\"DES/ECB/NoPadding\",才出现了一线曙光。其中的加密模式ECB安全性较差,目前新的平台中都较少用了。5这时发现有些明文加密后返回值为null,原来是明文的长度必须为8的倍数。增加一个while循环填充空格就可以了。当你处理其他系统间的加密数据交互时,也可以参考一下。END注意事项纯原创,如果觉得对自己有帮助,也请投上您宝贵的一票,谢谢

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/oV6M3xnwgM.html

(0)

相关推荐