JAVA异或加密「建议收藏」

JAVA异或加密「建议收藏」JAVA异或加密int或者byte类型的数据异或操作后变成另外一个数字,再次和同一个数异或后又变成原来的数字。例1/**加密前数字:3加密后数字:1解密后数字:3加密前字符:abcd加密加密后字符:c`af爢筄解密后字符:abcd加密*/publicstaticvoidmain(String[]args){int…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

JAVA异或加密

int 或者byte类型的数据异或操作后变成另外一个数字,再次和同一个数异或后又变成原来的数字。

例1

 /** 加密前数字:3 加密后数字:1 解密后数字:3 加密前字符:abcd加密 加密后字符:c`af爢筄 解密后字符:abcd加密 */
 public static void main(String[] args) {
     int a=3;
     System.out.println("加密前数字:"+a);
     int b= a^2;
     System.out.println("加密后数字:"+b);
     int c=b^2;
     System.out.println("解密后数字:"+c);
     String s1="abcd加密";
     System.out.println("加密前字符:"+s1);
     byte[] by=s1.getBytes();
     byte[] by2=new byte[by.length];
     for(int i=0;i<by.length;i++){
     by2[i]= (byte) (by[i]^2);
     }
     String s2=new String(by2);
     System.out.println("加密后字符:"+s2);
     byte[] by4=s2.getBytes();
     byte[] by3=new byte[by4.length];
     for(int i=0;i<by4.length;i++){
     by3[i]= (byte) (by4[i]^2);
     }
     String s3=new String(by3);
     System.out.println("解密后字符:"+s3);
 }

例2

/** * * @param inName 要加密或者解密的文件的路径 * @param outName 加密后或者解密后的文件的路径 * @throws IOException */
public static void deEncrypt(String inName,String outName) throws IOException {
    File inFile = new File(inName);
    File outFile = new File(outName);
    FileInputStream input = new FileInputStream(inFile);
    FileOutputStream output = new FileOutputStream(outFile);
    int content = 0 ;
    while((content=input.read())!=-1){
    output.write(content^2);
    }
    input.close();
    output.close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185778.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月5日 上午9:16
下一篇 2022年10月5日 上午9:36


相关推荐

  • PHP如何调用百度文心一言_配置密钥发送请求获取智能回复【指南】

    PHP如何调用百度文心一言_配置密钥发送请求获取智能回复【指南】

    2026年3月12日
    2
  • Python之字典添加元素

    Python之字典添加元素手动推荐知识点字典创建->创建字典(7种方式)删除元素->字典删除元素(6种方式)修改元素->字典修改元素(4种方式)遍历元素->字典遍历元素(4种方式)查找元素->字典查找元素(3种方式)本文使用代码book_dict={“price”:500,”bookName”:”Python设计”,”weight”:”250g”}第一种方式:使用[]book_dict[“owner”]=”tyson”说明:中.

    2022年6月17日
    47
  • 实时数据库简介和比较—PI

    实时数据库简介和比较—PI实时数据库是数据库系统发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。实时数据库技术是实时系统和数据库技术相结合的产物,实时数据库系统的主要内容包括:实时数据库模型;

    2022年8月3日
    41
  • 在Ubuntu中安装交叉编译器_为什么一直安装中

    在Ubuntu中安装交叉编译器_为什么一直安装中本文讲述了在Ubuntu中安装pycharm的具体步骤准备环境:Ubuntu21.10,Pycharm2021.1.3具体步骤:1.首先下载pycharm:Pycharm官方下载地址我在这里选择的是2021.1.3的专业版,选择下载Linux版本的pycharm下载好的pycharm如图所示:2.右键点击刚刚下载的文件,选择提取到此处3.打开终端,输入cd命令行,进入刚刚解压文件夹下的bin文件夹,命令行是cd文件夹名称,并按回车键cdpycharm-professional-20

    2025年7月23日
    5
  • Python 根据AIC准则定义向前逐步回归进行变量筛选(二)

    Python 根据AIC准则定义向前逐步回归进行变量筛选(二)Python根据AIC准则定义向前逐步回归进行变量筛选(二)AIC简介AIC即赤池值,是衡量模型拟合优良性和模型复杂性的一种标准,在建立多元线性回归模型时,变量过多,且有不显著的变量时,可以使用AIC准则结合逐步回归进行变量筛选。AICD数学表达式如下:AIC=2p+n(log(SSE/n))AIC=2p+n(log(SSE/n))AIC=2p+n(log(SSE/n))其中,ppp…

    2022年5月24日
    184
  • java voliate,voliate 的实现原理是什么【面试题详解】「建议收藏」

    java voliate,voliate 的实现原理是什么【面试题详解】「建议收藏」今天爱分享给大家带来voliate的实现原理是什么【面试题详解】,希望能够帮助到大家。volatile可以保证线程可见性且禁止指令重排序,但是无法保证原子性。在JVM底层volatile是采用“内存屏障”来实现的,加入volatile关键字时,汇编后会多出一个lock前缀指令。lock前缀指令其实就相当于一个内存屏障。happen-before原则保证了程序的“有序性,对volatile变量的…

    2022年6月9日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号