帮朋友做的,根据python版本翻译成的java版本,记录一下代码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream; /**
* @author xirtam
* @data 2015年03月26日19:49:39
*
*/
public class Tool { public static int[] xorstr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1, 13, 14, 15, 16 }; /**
* 加密/解密,如果inpath传uzqp,outPath传png,则解密,反之加密
*
* @param inPath
* @param outPath
*/
public static void decodeAndEncode(String inPath, String outPath) {
try {
StringBuilder target = new StringBuilder();
FileInputStream fis = new FileInputStream(new File(inPath));
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
char[] chars = new char[bytes.length];
for (int i = 0; i < chars.length; i++) {
chars[i] = (char) bytes[i];
target.append(chr((byte) (ord(chars[i]) ^ (xorstr[i
% (xorstr.length)]))));
}
fis.close();
System.out.println("i: " + chars.length);
System.out.println("o: " + target.toString().length());
FileOutputStream fos = new FileOutputStream(new File(outPath));
byte[] fuck = new byte[chars.length];
for (int i = 0; i < target.length(); i++) {
fuck[i] = (byte) target.toString().charAt(i);
}
fos.write(fuck);
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
} public static char chr(byte c) {
return (char) c;
} public static byte ord(char c) {
return (byte) c;
} public static void main(String[] args) {
decodeAndEncode(
"/Users/corleone/Documents/temp/testpy/btn_menu111.png.uzqp",
"/Users/corleone/Documents/temp/testpy/Bubble3333.png"); // decodeAndEncode("/Users/corleone/Documents/temp/testpy/Bubble3.png",
// "/Users/corleone/Documents/temp/testpy/btn_menu111.png.uzqp");
} }

python版本

def fun():
fn1='./btn_menu1.png.uzqp'
xorstr='\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x01\x0d\x0e\x0f\x10'
with open(fn1,'rb') as f:
data = f.read();
data0=""
print len(data)
for i in range(len(data)):
data0 += chr( ord(data[i]) ^ ord(xorstr[i % (len(xorstr))])) fn2='Bubble2.png'
with open(fn2,'wb') as f:
f.write(data0) if __name__ == '__main__':
fun()

uzqp文件的加解密的更多相关文章

  1. C# 利用ICSharpCode.SharpZipLib实现在线加密压缩和解密解压缩 C# 文件压缩加解密

    C# 利用ICSharpCode.SharpZipLib实现在线加密压缩和解密解压缩   这里我们选用ICSharpCode.SharpZipLib这个类库来实现我们的需求. 下载地址:http:// ...

  2. ios开发不能不知的动态修复bug补丁第三方库JSPatch 使用学习:JSPatch导入、和使用、.js文件传输加解密

    JSPatch ios开发不能不知的动态修复bug补丁第三方库JSPatch 使用学习:JSPatch导入.和使用..js文件传输加解密 ios开发面临审核周期长,修复bug延迟等让人无奈的问题,所以 ...

  3. Java拓展教程:文件DES加解密

    Java拓展教程:文件加解密 Java中的加密解密技术 加密技术根据一般可以分为对称加密技术和非对称加密技术.对称加密技术属于传统的加密技术,它的加密和解密的密钥是相同的,它的优点是:运算速度快,加密 ...

  4. [转]C/C++ 实现文件透明加解密

    今日遇见一个开超市的朋友,真没想到在高校开超市一个月可以达到月净利润50K,相比起我们程序员的工资,真是不可同日而语,这个世道啊,真是做程序员不如经商开超市, 我们高科技的从业者,真是造原子弹不如卖茶 ...

  5. C# 文件压缩加解密

    1.这种方式也可以做到对文件的加密压缩,解密解压缩,只是在压缩和解压缩时会出现压缩窗口 1.1加密压缩 strzipPath:压缩包路径 strtxtPath:待压缩的文件路径 password:加密 ...

  6. Python 循环异或对文件进行加解密

    # -* -coding: UTF-8 -* - # 功能:异或方式对文件进行加密和解密 import os import datetime # 主函数 def main(): getInput() ...

  7. RSA,AES加解密算法的实现

    目录 Python实现RSA公钥加密算法 RSA公钥加密算法原理 RSA算法的Python实现 AES加解密算法实现 AES加解密算法原理 AES加解密算法Python实现 参考文献 Python实现 ...

  8. QML-AES加解密小工具

    Intro 为了解码网课视频做的小工具,QML初学者可以参考一下. 项目地址 Todo 在插入新条目时,ListView不会自动根据section进行重排,因此出现同一个文件夹重复多次的现象.目测强行 ...

  9. 非对称加解密 Asymmetric encryption 对称加密和非对称加密的区别

    考虑这样一个问题:一切的装备文件都存储在 Git 长途库房,RAR密码破解装备文件中的一些信息又是比较灵敏的.所以,我们需求对这些灵敏信息进行加密处理.首要的加密方法分为两种:一种是同享密钥加 密(对 ...

随机推荐

  1. MVC WEB安全——XSS攻击防御

    XSS(跨站脚本攻击) 描述: 原理:攻击者往Web页面里插入恶意代码,当用户浏览该页之时,嵌入其中Web里面的代码会被执行,从而达到攻击用户的特殊目的. 类别: 1)被动注入(Passive Inj ...

  2. java中的String设计原理

    首先,必须强调一点:String Pool不是在堆区,也不是在栈区,而是存在于方法区(Method Area) 解析: String Pool是常量池(Constant  Pool)中的一块. 我们知 ...

  3. 【LINUX/UNIX网络编程】之使用SOCKET进行UDP编程

    先看任务需求: 实验二 UDP数据发送与接收 [实验目的] 1.熟练掌握套接字函数的使用方法. 2.应用套接字函数完成基本UDP通讯,实现服务器与客户端的文件传送 [实验学时] 4学时 [实验内容] ...

  4. CodeForces Round 194 Div2

    A. Candy Bagstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputs ...

  5. TYVJ P1090 母舰 Label:模拟,题目看清就好

    背景 广东汕头聿怀初中 Train#3 Problem 1 描述 在小A的星际大战游戏中,一艘强力的母舰往往决定了一场战争的胜负.一艘母舰的攻击力是普通的MA(Mobile Armor)无法比较的.对 ...

  6. 【COGS & USACO Training】710. 命名那个数字(hash+水题+dfs)

    http://cojs.tk/cogs/problem/problem.php?pid=710 近日开始刷水... 此题我为了练一下hash...但是hash跑得比暴力还慢.. 不言而喻... #in ...

  7. FFT模板

    我终于下定决心学习FFT了. orzCHX,得出模板: #include<cstdio> #include<cctype> #include<queue> #inc ...

  8. erlang-jiffy 安装手记

    今天安装 erlang-jiffy 把握逼疯,不过最后还是成功了. 错误避免: rebar只能再英文目录下运行,如果编译jiffy的目录中有中文或其它unicode字符,将会出错 从git relea ...

  9. java图片处理——多张图片合成一张Gif图片并播放或Gif拆分成多张图片

    1.多张jpg图合成gif动画 /** * 把多张jpg图片合成一张 * @param pic String[] 多个jpg文件名 包含路径 * @param newPic String 生成的gif ...

  10. php 实现qq第三方登录

    学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博文分享!