1.db2的function:
create function tvc.pwdEncrypt(password varchar(20))
returns varchar(90)
fenced
threadsafe
deterministic
allow parallel
no sql
returns null on null input
no external action
language java
parameter style java
external name 'com.ibm.mbps.tvc.util.TvcPwdEncrypt!pwdEncrypt';
2./*
* OCO Source Materials
*
* Licensed Materials -
*
* 5747-SM3
*
* (C) Copyright Corp. 2011 All Rights Reserved.
*
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by Schedule Contract with IBM Corp.
*/
package com.xxx.mbps.tvc.util;
import java.security.MessageDigest;
import COM.ibm.db2.app.UDF;
import com.ibm.misc.BASE64Encoder;
public class TvcPwdEncrypt extends UDF {
public static String pwdEncrypt(String password) {
if (password == null) {
return null;
}
try {
MessageDigest md = MessageDigest.getInstance("SHA512");
byte[] input = password.trim().getBytes();
md.update(input);
byte[] buf = md.digest();
BASE64Encoder be = new BASE64Encoder();
String result = be.encode(buf);
// remove \r \n
result = result.replaceAll("\n", "").replaceAll("\r", "");
return result;
} catch (Exception e) {
return null;
}
}
}