关于so的加密和解密(个人记录文件暂不分享)

一往情深深几许,深山夕照深秋雨

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、so加密解密的介绍

  1. 他是和jar包一同放在服务器当中的一个外联库,其中是通过算法进行加密和解密
  2. 加密的使用方法是现将so文件放入到服务器当中,然后写好接口,打包部署
    访问即可生成加密保存数据库
  3. 解密是将你加密的字符串和长度发送获取即可得到解密

二、框架的so加密

1.pom的依赖导入

        <!--so jni依赖包-->
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>4.5.2</version>
        </dependency>

2.编写SoUtil 工具类

package com.information.utils;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.util.Base64;
import com.sun.jna.Library;
import com.sun.jna.Native;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
public class SoUtil {
   
    private interface CLibrary extends Library {
   
        // CLibrary: .so文件的接口, 用于调用.so文件中的方法
        int zSVencrypt(int num, byte[] in, int in_len, byte[] out);

        int zSVdecrypt(int num, byte[] in, int in_len, byte[] out);
    }
    private static class SoLibImpl implements CLibrary {
   
        static CLibrary INSTANCE;

        // 通过Native.loadLibrary()方法加载.so文件, 并将.so文件中的方法封装到CLibrary接口中
        static {
   
            try {
   
            //sv.so文件的路径你是放在服务器的路径
                INSTANCE = (CLibrary) Native.synchronizedLibrary(Native.loadLibrary("/www/wwwroot/xinxianquan/libzSV.so", CLibrary.class));
                System.out.println("load .so file success");
            } catch (Exception e) {
   
                System.out.println("load .so file failed!");
            }
        }

        // 声明.so文件中的方法
        @Override
        public native int zSVencrypt(int num, byte[] in, int in_len, byte[] out);

        @Override
        public native int zSVdecrypt(int num, byte[] in, int in_len, byte[] out);

    }

    //加密
    public byte[] 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值