# TeradataCptJni **Repository Path**: Hu-Lyndon/teradata-cpt-jni ## Basic Information - **Project Name**: TeradataCptJni - **Description**: 数据加密算法,用于大数据平台、数据仓库等系统的数据安全加密 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-12-22 - **Last Updated**: 2024-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大数据隐私加密 ## Build ### windows 64 ```shell gcc -fPIC -D_REENTRANT -I./include -c ./src/cpt.c -o ./lib/cpt.o gcc -fPIC -shared -I./include -o ./lib/win64/libTeradataCptJni.dll ./src/cptjni.cpp ./lib/cpt.o ./src/convert.cpp ./src/register.cpp ``` #### 需要设置环境变量 [测试](https://gitee.com/Hu-Lyndon/teradata-cpt.git) - PATH=${PATH}\;D:\iProject\teradatacpt\lib ### linux #### tips 需要将对应操作系统的两个文件替换到目录中 - $JAVA_HOME/include/jni.h - $JAVA_HOME/include/linux/jni_md.h ```shell # 编译cpt.c为cpt.o gcc -fPIC -D_REENTRANT -I./include -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux -c ./src/cpt.c -o ./lib/cpt.o # 构建.so文件 gcc -fPIC -shared -I./include -o ./lib/linux-amd64/libTeradataCptJni.so ./src/cptjni.cpp ./lib/cpt.o ./src/convert.cpp ./src/register.cpp ``` #### 需要设置环境变量 .bashrc [测试](https://gitee.com/Hu-Lyndon/teradata-cpt.git) - export LD_LIBRARY_PATH='/home/etl/iProject/TeradataCptJni/linux-amd64':${LD_LIBRARY_PATH} - export PATH=${JAVA_HOME}/bin:${LD_LIBRARY_PATH}:${PATH} ### Test ```shell gcc -fPIC -c cpt.c ``` unit test the gbk ```shell ./cmake-build-debug/simple_single_test 1234 $(tail -n 1 test/gbk_input.txt) ```