hive添加UDF加密函数

目的:实现MD5的加解密

1.写java代码,打jar包:

import java.io.UnsupportedEncodingException;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

import org.apache.hadoop.hive.ql.exec.Description;

import org.apache.hadoop.hive.ql.exec.UDF;

import sun.misc.BASE64Encoder;

 

@Description(name = "ToMD5", value = "_FUNC_(str) - Convert str to a MD5(str).")

public class ToMD5 extends UDF{

public String evaluate(String str) throws Exception, Exception {

return EncoderByMd5(str);

}

public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{

MessageDigest md5=MessageDigest.getInstance("MD5");

BASE64Encoder base64en = new BASE64Encoder();

String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));

return newstr;

}

}

 

2. 将打好的jar上传到hdfs:

hadoop fs -mkdir /hive_UDF

hadoop fs -put ToMD5.jar /hive_UDF

 

3.进入hive客户端,创建UDF函数。

create function ToMD5 as 'ToMD5' using jar 'hdfs://ocdp/hive_UDF/ToMD5.jar';

 

4.使用创建的UDF函数:

create table test4 as select ToMD5(age) from test1;

 

hive> select * from test4;

OK

wgrU12/pd1mqJ6DJm/9nEA==

xRzkEMEkoQ4NteS5f8KvOQ==

qrMjiSK8wlpvYG61Jf/cVg==

wgrU12/pd1mqJ6DJm/9nEA==

转载于:https://my.oschina.net/u/1755468/blog/3092619

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值