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.DESimport 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
}