PB语言 解密示例:
long ll_size
string ls_outpass
string ls_inpass
ls_inpass = trim(as_toDecrypt)
ll_size = b64_size(len(ls_inpass),1)
ls_outpass = space(ll_size)
b64_des(ls_inpass,ls_outpass,is_key,len(ls_inpass),0)
return ls_outpass
然后Java的参数改怎样设置, 下面是我写的方法,好像不对:
byte[] ls_inpass_byte = ls_inpass.getBytes();
Pointer ls_outpass = new Pointer(MemoryBlockFactory.createMemoryBlock(outLen*4));
getUrl = new JNative("des64.dll", "b64_des");
getUrl.setRetVal(Type.STRING);
getUrl.setParameter(0, Type.VOID, ls_inpass_byte);
getUrl.setParameter(1, ls_outpass);
getUrl.setParameter(2, Type.STRING,key);
getUrl.setParameter(3, ls_inpass.length());
getUrl.setParameter(4, Type.INT,"0");
getUrl.invoke(); //调用方法
System.out.println("解密结果:"+getUrl.getRetVal()); //输出返回值