python代码翻译成java

Python024

python代码翻译成java,第1张

import java.util.ArrayList

import java.util.List

/**

*

* 33行,add的值是对象的话,定义list就不用String,用对象,

* 同样38行,可以分别取对象的值,如果想要数组的话,再转化下就可以

* @author

*

*/

public class Test {

/**

*这几个静态属性,是你其他地方传来的,你可以在调用queryblocks()时作为参数传递给这个方

*法

*/

private static int YunHash_HASHLENGTH = 2

private static int config_maxfilesize = 3

private static int MAXBLOCKSIZE = 4

public static void main(String[] args) {

}

public List<String>queryblocks(String str)

{

String data= str//request.body.read()

if (data.length()%YunHash_HASHLENGTH !=0

|| data.length()>config_maxfilesize/MAXBLOCKSIZE*YunHash_HASHLENGTH

){

return errorRespose(400,"BADHASHLIST")

}

int s = 0

List<String>lis = new ArrayList<String>()

while(s <data.length()){

String hash = data.substring(s, s+YunHash_HASHLENGTH)

lis.add("放注释里的值")//dbsession.execute_async(hashblocks_get_statement.bind((hash,)))

s += YunHash_HASHLENGTH

}

List<String>lis1 = new ArrayList<String>()

for (String string : lis) {

lis1.add(string)

}

return lis1

}

public List<String>errorRespose(int code, String message){

List<String>list = new ArrayList<String>()

list.add(""+code+"--"+message)

return list

}

}

import Crypto.Cipher.DES

import hashlib.md5

import static python.lang.System

public class Test{

    public static void main(String[] args)

    {

        String key = "\x32\x8D\xD2\x0B\xC3\xE6\xD2\xCF"

        DES crypto = new DES(key, DES.MODE_ECB)

        String data = open('a.txt', 'rb').read()

        Object[] data_decrypted = crypto.decrypt(data).rstrip("\0")

        /**这个,后面的有点不兼容。其实不知道DES、md5的源码也改不了,而且java又不能直接调用其中的python代码,除非你写相应的java代码和他们映射**/

    }

}

瞎写了一个, 不知道行不行

public int[] corrupted_bit(int[] data) {

int data_in_bit = data[0]

data_in_bit = data_in_bit - 1

if (0 <= data_in_bit &&data_in_bit <= 255) {

int[] corrupted_bit_in_data = new int[]{data_in_bit}

int[] new_data = new int[data.length]

new_data[0] = corrupted_bit_in_data[0]

System.arraycopy(data, 1, new_data, 0, data.length - 1)

return new_data

}

return data

}