db2 java 函数_DB2 调用java自定义方法报错

DB2 调用java自定义方法报错

本人用java 写了个DES的加密类

想在DB2里面调用然后将数据值加密

将DES。class已经拷贝到IBMSQLLIBFUNCTION目录下后

create function encrypt_des(str varchar(100))

returns varchar(100)

fenced

variant

no sql

language java

PARAMETER STYLE java

external name 'DES!encrypt';

用一下脚本创建函数成功

在测试的时候 values(encrypt_des('123'));

报错如下

[Error Code: -4306, SQL State: 42724] DB2 SQL Error: SQLCODE=-4306, SQLSTATE=42724, SQLERRMC=DB2ADMIN.ENCRYPT_DES;SQL120822162338500;encrypt;(Ljava/lang/String;)Lj, DRIVER=3.50.152

这里网上的资料很少,请知道的大牛帮忙解答下,十分感谢~

public String byteArr2HexStr(byte[] arrB) throws Exception {

int iLen = arrB.length;

StringBuffer sb = new StringBuffer(iLen * 2);

for (int i = 0; i < iLen; i++) {

int intTmp = arrB[i];

while (intTmp < 0) {

intTmp = intTmp + 256;

}

if (intTmp < 16) {

sb.append("0");

}

sb.append(Integer.toString(intTmp, 16));

}

return sb.toString();

}

public String encrypt(String strIn) throws Exception {

return byteArr2HexStr(encrypt(strIn.getBytes()));

}

java 代码如上

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值