XOR运算文件加密示例

前言:

        XOR加密是一种非常简单的加密技术属于对称加密(相同的密钥进行加密和解密),不提供机密性或完整性验证因此不适用于高度敏感的数据,容易受到各种攻击,包括已知明文攻击。在实际应用中,应该使用更强大和安全的加密算法,如AES或RSA。

作用:

通过xor计算,将文件加密成不可读文件,除非使用逆运算,否则无法修复。

对加密代码进行 xor 逆运算,即可得到正常可读文件,文件无任何损失。

fun mk_rar(assetsName: String, rarName: String) {val arr_b1: ByteArrayval arr_b = ByteArray(0x1000)var v109: Inttry {val inputStream0: InputStream = getAssets().open(assetsName)val byteArrayOutputStream = ByteArrayOutputStream()while (true) {v109 = inputStream0.read(arr_b)if (v109 <= 0) {break} else {byteArrayOutputStream.write(arr_b, 0, v109)}}arr_b1 = byteArrayOutputStream.toByteArray()val aar_size = arr_b1.sizevar v120 = 0while (v120 < aar_size) {arr_b1[v120] = arr_b1[v120] xor 33++v120}v120 = 0while (v120 < aar_size / 2) {arr_b1[v120] = arr_b1[aar_size - 1 - v120] xor arr_b1[v120]++v120}val file: File = File(getExternalFilesDir("rar"), rarName)val fileOutputStream = FileOutputStream(file)fileOutputStream.write(arr_b1)fileOutputStream.flush()fileOutputStream.close()} catch (e: Exception) {}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/596084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实时记录和查看Apache 日志

Apache 是一个开源的、广泛使用的、跨平台的 Web 服务器&#xff0c;保护 Apache Web 服务器平台在很大程度上取决于监控其上发生的活动和事件&#xff0c;监视 Apache Web 服务器的最佳方法之一是收集和分析其访问日志文件。 Apache 访问日志提供了有关用户如何与您的网站交互…

外贸客户邮箱采集软件的工作原理

外贸客户邮箱采集软件是专为外贸从业人员设计的工具&#xff0c;旨在帮助用户快速、准确地获取潜在客户的邮箱地址。此类软件在国际贸易中发挥着越来越重要的作用&#xff0c;尤其在当前数字化时代&#xff0c;有效的客户邮箱采集已成为外贸业务成功的关键因素之一。 该软件的…

Volcano Controller控制器源码解析

Volcano Controller控制器源码解析 本文从源码的角度分析Volcano Controller相关功能的实现。 本篇Volcano版本为v1.8.0。 Volcano项目地址: https://github.com/volcano-sh/volcano controller命令main入口: cmd/controller-manager/main.go controller相关代码目录: pkg/co…

一加 Buds 3正式发布:普及旗舰音质 一加用户首选

1月4日&#xff0c;一加新品发布会正式推出旗下新款耳机一加 Buds 3。延续一加经典美学&#xff0c;秉承音质完美主义追求&#xff0c;一加 Buds 3全面普及一加旗舰耳机体验&#xff0c;其搭载旗舰同款“超清晰同轴双单元”&#xff0c;配备49dB 4000Hz超宽频主动降噪&#xff…

pandas时间加减

在 Pandas 中&#xff0c;可以使用加减法运算符(、-)对时间序列进行加减运算。还可以使用 pd.DateOffset 或 pd.Timedelta 对时间序列进行偏移。 示例&#xff1a; import pandas as pd# 创建时间序列 date_rng pd.date_range(start1/1/2020, end1/10/2020, freqD) df pd.D…

万界星空科技MES系统中的生产管理

MES系统能够帮助企业实现生产计划管理、生产过程控制、产品质量管理、车间库存管理、项目看板管理等&#xff0c;提高企业制造执行能力。 万界星空MES系统特点&#xff1a; 1. 采用强大数据采集引擎、整合数据采集渠道&#xff08;RFID、条码设备、PLC、Sensor、IPC、PC等&…

【中小型企业网络实战案例 七】配置限速

相关学习文章&#xff1a; 【中小型企业网络实战案例 一】规划、需求和基本配置 【中小型企业网络实战案例 二】配置网络互连互通【中小型企业网络实战案例 三】配置DHCP动态分配地址 【中小型企业网络实战案例 四】配置OSPF动态路由协议【中小型企业网络实战案例 五】配置可…

C++系列十三:C++中的引用

C中的引用 1. 引用的声明与初始化2. 引用在函数中的应用3. 引用的注意事项与陷阱 引用在C中是一种特殊的变量&#xff0c;它为其他变量提供了一个别名。这意味着&#xff0c;引用和它所引用的变量实际上是同一个实体。通过引用&#xff0c;可以直接访问和修改变量的值&#xff…

Hubery-个人项目经历记录

研究生期间很有幸的进入到了崔老师的组&#xff0c;从此也就进入到了分析人体生理信号的领域&#xff0c;充满挑战的同时也充满了乐趣。借着CSDN整理一下近几年来参与的项目&#xff0c;这里蕴含着我各种美好的回忆&#xff0c;也作为一个展示自己的平台吧。 开始之前&#xff…

作业--day41

利用模板类完成顺序表 #include <iostream>using namespace std;//模板类 template <typename T> class SeqTab{T arr[20];int maxsize; public:SeqTab():maxsize(0){}void Insert(T a);void Search(T a);void Delete(int index);void Show(); };//尾插 template …

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之线性布局容器Column组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之线性布局容器Column组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Column组件 沿垂直方向布局的容器。 子组件 可以包含子组件。 接…

完美解决Github 2fa二次验证问题

完美解决Github 2fa二次验证问题 原文阅读 https://onedayxyy.cn/docs/github-2fa 前言 你的 Github 账户可能被封禁! 教你应对 Github 最新的 2FA 二次验证! 无地区限制, 无额外设备的全网最完美方案 1、2FA 的定义 双因素身份验证 (2FA) 是一种身份和访管理安全方法&…

栈和队列基本实现

1、栈 1.1栈的概念及结构 栈时一种特殊的线性表&#xff0c;只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 1.2栈的基本实…

物流实时数仓:数仓搭建(DWS)一

系列文章目录 物流实时数仓&#xff1a;采集通道搭建 物流实时数仓&#xff1a;数仓搭建 物流实时数仓&#xff1a;数仓搭建&#xff08;DIM&#xff09; 物流实时数仓&#xff1a;数仓搭建&#xff08;DWD&#xff09;一 物流实时数仓&#xff1a;数仓搭建&#xff08;DWD&am…

遥测终端机——连接智能世界的桥梁

在当今的智能化时代&#xff0c;数据的重要性日益凸显。各个行业都需要对数据进行实时监测、处理和分析&#xff0c;以提升生产效率、优化运营管理。遥测终端机作为连接智能世界的桥梁&#xff0c;正逐渐成为各行业的必备设备。 遥测终端机是一种集数据采集、存储、传输和管理于…

《微信小程序开发从入门到实战》学习七十一

6.6 网络API 6.6.5 WebSocket API 使用WebSocket API可使小程序与服务器建立长连接。小程序端和服务端长时间内可主动向对端发送一些数据 需要先调用wx.connectSocket创建一个连接&#xff0c;返回一个SocketTask对象&#xff0c;然后WebSocket方式通信。 SocketTask对象可…

小红书12月内容趋势分析

为洞察小红书平台的内容创作趋势及品牌营销策略&#xff0c;新红推出12月月度榜单&#xff0c;从创作者、品牌、热搜词多方面入手&#xff0c;解析月榜数据&#xff0c;为从业者提供参考。 以下为12月部分榜单解析&#xff0c;想要查看更多行业榜单&#xff0c;创作优质内容&am…

mask = (x > 0).unsqueeze(1).repeat(1, x.size(1), 1).unsqueeze(1)

bert源码里出现这一句代码&#xff1a;mask (x > 0).unsqueeze(1).repeat(1, x.size(1), 1).unsqueeze(1) 某大语言模型解释&#xff1a; mask (x > 0).unsqueeze(1).repeat(1, x.size(1), 1).unsqueeze(1) 的目的是创建一个用于屏蔽&#xff08;masking&#xff09;…

vue3+Cesium 添加地面测控站台

效果 cesiumRadar.js import * as Cesium from cesium; export function addentities(viewer, res, index) {viewer.entities.add({id: index,position: Cesium.Cartesian3.fromDegrees(res[0], res[1]),wall: {positions: new Cesium.CallbackProperty(() > {return Cesiu…

kubernetes(K8s)的使用和常用命令

K8S kubernetes&#xff0c;由于k和s之间有8个字符&#xff0c;所以简称k8s&#xff0c;是一个全新的基于容器技术的分布式架构领先方案&#xff0c;是谷歌严格保密十几年的秘密武器----Borg系统的一个开源版本&#xff0c;于2015年7月发布第一个正式版本&#xff0c;它的本质…