# Compile and package ``` mvn clean package ``` At this time we can get a java-udf-demo.jar # Register function Register encryption function There are two parameters here, one is the encrypted content, the other is the secret key, and the return value is a string ## Local file mode ```sql CREATE FUNCTION ase_encryp(string,string) RETURNS string PROPERTIES ( "file"="file:///path/work/doris.java.udf.demo/target/java-udf-demo.jar", "symbol"="org.apache.doris.udf.demo.AESEncrypt", "always_nullable"="true", "type"="JAVA_UDF" ); ``` ## http method ```sql CREATE FUNCTION ase_encryp(string,string) RETURNS string PROPERTIES ( "file"="http://hostname/work/doris.java.udf.demo/java-udf-demo.jar", "symbol"="org.apache.doris.udf.demo.AESEncrypt", "always_nullable"="true", "type"="JAVA_UDF" ); ``` ## Run function ```sql mysql> select ase_encryp('zhangfeng','java_udf_function'); +----------------------------------------------+ | ase_encryp('zhangfeng', 'java_udf_function') | +----------------------------------------------+ | 4442106BB8C98E74D19CEC0413467810 | +----------------------------------------------+ 1 row in set (0.76 sec) ``` ## Decryption function ```sql CREATE FUNCTION ase_decryp(string,string) RETURNS string PROPERTIES ( "file"="file:///path/work/doris.java.udf.demo/target/java-udf-demo.jar", "symbol"="org.apache.doris.udf.demo.AESDecrypt", "always_nullable"="true", "type"="JAVA_UDF" ); ``` ## http method ```sql CREATE FUNCTION ase_decryp(string,string) RETURNS string PROPERTIES ( "file"="http://hostname/work/doris.java.udf.demo/java-udf-demo.jar", "symbol"="org.apache.doris.udf.demo.AESDecrypt", "always_nullable"="true", "type"="JAVA_UDF" ); ``` ## Run function ```sql mysql> select ase_decryp('4442106BB8C98E74D19CEC0413467810','java_udf_function'); +---------------------------------------------------------------------+ | ase_decryp('4442106BB8C98E74D19CEC0413467810', 'java_udf_function') | +---------------------------------------------------------------------+ | zhangfeng | +---------------------------------------------------------------------+ 1 row in set (0.02 sec) ```