当前位置: 首页 > news >正文

对比base64图片使用base256加密解密前后的区别

@Override
public void test( HttpServletResponse response, HttpServletRequest request) {
    File fileImage = new File("C:\\Users\\xxx\\xxx\\xxxx.jpg");//本地图片路径

    byte[] base64 = null;
    InputStream in = null;
    try {
        File file = fileImage;
        in = new FileInputStream(file);
        byte[] bytes = new byte[(int) file.length()];
        in.read(bytes);
        base64 = Base64.getEncoder().encode(bytes);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (in != null) {
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    String tmpEncode = Base256.base256Encode(base64);//256加密
    byte[] tmpDecode = Base256.base256Decode(tmpEncode);//256解密

    boolean bEquals = true;
    int ii =0;
    for ( int i =0; i < base64.length && i < tmpDecode.length; i++) {
        if (base64[i] != tmpDecode[i]) {
            bEquals = false;
            break;
        }
        ii = i;
    }
    System.out.println("总对比字节数:"+ii);
    System.out.println("对比结果:"+bEquals);
}

相关文章:

  • python面经(滴滴、理想、momenta)
  • 2022年五一杯数学建模B题矿石加工质量控制问题解题全过程及论文和程序
  • 向移动端发展会是Web3的突破契机吗?
  • 网课答案公众号怎样可以快速调用查题功能
  • 03-JVM-对象内存、执行引擎
  • 本地缓存组件
  • 掌握这25个单行代码技巧,你也能写出『高端』Python代码
  • 看过来,这里教你如何更好地呈现荣誉证书
  • 计算机视觉图像公开数据集最全汇总
  • 【C++】C++ 引用
  • 量子兔 alphapi 硬件拆解分析 尝试自己从头写库
  • linux常用命令(Beginner note)
  • IDEA+SpringCloudAlibaba微服务搭建
  • 【Python刷题篇】——Python入门 011面向对象(二)
  • 使用Quartz或CronUtil实现动态的任务调度以及任务的管理
  • JavaScript 如何正确处理 Unicode 编码问题!
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • chrome扩展demo1-小时钟
  • co模块的前端实现
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • css选择器
  • JAVA SE 6 GC调优笔记
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • leetcode386. Lexicographical Numbers
  • leetcode388. Longest Absolute File Path
  • React-flux杂记
  • yii2中session跨域名的问题
  • 分布式熔断降级平台aegis
  • 分类模型——Logistics Regression
  • 机器学习 vs. 深度学习
  • 突破自己的技术思维
  • 微信支付JSAPI,实测!终极方案
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • !$boo在php中什么意思,php前戏
  • #HarmonyOS:基础语法
  • #ubuntu# #git# repository git config --global --add safe.directory
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2015)JS ES6 必知的十个 特性
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET成年了,然后呢?
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • [ C++ ] STL---仿函数与priority_queue