AS3 zip加密解密算法二
来源:互联网 发布:淘宝新店如何经营规划 编辑:程序博客网 时间:2024/05/29 08:55
上文提到Java的的zip加密/解密工作, 由于Flex端陷入僵持, 想想能在Java端实现zip加密/解密也不错. 为了保持和Flex的目录结构一致, 我将Java端的的zip加密/解密代码目录命名为nochump.util.zip.
在JDK中已有zip的解压缩代码, 因此我只需要扩展现有的java.util.zip包下的代码, 并实现加密/解密算法的即可.
加密/解密核心代码如下:
Refer to:http://code.google.com/p/encrypt-zip-as3-java/source/browse/trunk/EncryptZip/src/nochump/util/extend/ZipCrypto.java
你会注意到在AS3中出错的代码, 出现在Java中了
_Keys[1] = (_Keys[1] * 0x08088405) ;
不过Java经过计算后得到的_Keys[1]的值和计算器计算的结果完全相符. 经过测试和验证, 程序对zip文件加密/解密完全没有问题, 它能够正常的工作运行.
此时, Java端的zip文件加密/解密解决了 (这出乎我的意料之外, 原以为Flex端能优先完成). 我要完成EncryptZip的开发, 就必须实现AS3中的zip文件加密/解密功能, 可上文(AS zip加密解密算法一) 中的"两个大数相乘值不正确"的问题, 我仍然没有思路.
穷则变, 变则通. 我开始上网查找其它语言实现zip文件加密/解密的算法. 柳暗花明了, 我找到开源的C#语言实现的zip文件加密/解密算法, 提取C#的实现算法后, 测试C#的zip文件加密/解密代码对key的更新过程, 并将_Keys[1], _Keys[2], _Keys[3]值的变化打印到表格里, 分析比较后发现它对key 的操作的值取的是uint类型的数据. 这相当值得借鉴. 只要AS3端的代码按C#的算法方式进行运算, 这不就得到了想要的功能么?(未完, 请阅读AS zip加密解密算法三)
(转贴请注明出处)
Author:David
Mail:xiang.okay@gmail.com
- AS3 zip加密解密算法二
- AS3 zip加密解密算法一
- AS3 zip加密解密算法三
- AS3加密解密Des
- AS3加密解密Des
- 加密解密(二)——Base64算法
- Java 加密解密zip文件
- as3 crypto 加密解密des,rsa
- 用vb实现DES加解密算法(二)--加密
- AES加密解密算法的FPGA实现(二)
- 【加密】DES加密解密算法
- Java加密解密算法-AES加密解密
- Java加密解密算法-Base64加密解密
- Java加密解密算法-MD5加密解密
- Java加密解密算法-DES加密解密
- Java加密解密算法-PBE加密解密
- C#加密解密算法
- TripleDES加密、解密算法
- SQLite分页查询  -  棒槌网@Android开发论坛 - Powered by phpwind
- 2011.6.13
- 用 PHP 读取文件的正确方法
- 获取指定某一天的前一个月或前一年日期的方法
- 编写基于MFC的Vega程序步骤
- AS3 zip加密解密算法二
- 在TAO平台运行一个简单CORBA实例
- 树状数组 求解 逆序数对
- js获得单选按钮的值
- Clustered PHP - DC PHP 2009
- Hadoop源代码分析【RPC】
- 半透明渲染新技术摘录
- jjjj
- Dos下获取日期和时间