惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
博客园 - 司徒正美
D
Docker
T
The Blog of Author Tim Ferriss
罗磊的独立博客
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
J
Java Code Geeks
Jina AI
Jina AI
博客园 - 【当耐特】
C
Check Point Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog

博客园 - zhaogaojian

Qt 5 界面闪烁与白屏问题的原因及解决办法 开发的一款IOTLink,物联网调试工具集 禁用嵌入式设备自动命名usb网卡成enxXXXXX 关闭vEthernet (Default Switch) windows设备2通过linux设备1上网 windows下的/data目录 VSCode创建launch.json的作用 Linux启动时候Ip有时候不显示问题 Android Release模式下无法运行一例解决方法 修改了命名空间后ActivityMainBinding使用爆红 Android MPAndroidChart设置折线点为横轴+纵轴数据 Android停止蓝牙扫描不起作用 MiniCom打开回显 一例ssh无法连接问题 一例串口输出异常问题 Ubuntu14.04 设置共享文件夹 3、使用ECharts控件 2、el-image设置error图像 1、自定义上传组件实现动态指定action Android 手机生成文件电脑上看不见
Android 一例Base64错误问题
zhaogaojian · 2023-10-19 · via 博客园 - zhaogaojian

在Android 11下正常,8.1下不正常
修改import
import org.apache.commons.codec.binary.Base64;

import android.util.Base64;

public static String encrypt(String data) {
        try {
            SecretKey secretKey = new SecretKeySpec(SECRET_KEY.getBytes(), ENCRYPTION_ALGORITHM);
            Cipher cipher = Cipher.getInstance(TRANSFORMATION);
            IvParameterSpec ivParameterSpec = new IvParameterSpec(INIT_VECTOR.getBytes());
            cipher.init(Cipher.ENCRYPT_MODE, secretKey, ivParameterSpec);
            byte[] encryptedData = cipher.doFinal(data.getBytes("UTF-8"));
            return Base64.encodeToString(encryptedData, Base64.DEFAULT);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static String decrypt(String encryptedData) {
        try {
            SecretKey secretKey = new SecretKeySpec(SECRET_KEY.getBytes(), ENCRYPTION_ALGORITHM);
            Cipher cipher = Cipher.getInstance(TRANSFORMATION);
            IvParameterSpec ivParameterSpec = new IvParameterSpec(INIT_VECTOR.getBytes());
            cipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameterSpec);
            byte[] decryptedData = cipher.doFinal(Base64.decode(encryptedData, Base64.DEFAULT));
            return new String(decryptedData, "UTF-8");
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }