简单加密---位运算

位运算详解与其用途 1.位运算起源 位运算起源于C语言的低级操作,Java的设计初衷是嵌入到电视机顶盒内,所以这种低级操作方式被保留下来。所谓的低级操作,是因为位运算的操作对象是二进制位,但是这种低级操作对计算机而言是非常简单直接,友好高效的。在简单的低成本处理器上,通常位运算比除法快得多,比乘法快几倍,有时比加法快得多。虽然由于较长的指令流水线和其他架构设计选择,现代处理器通常执行加法和乘法的速度与位运算一样快,但由于资源使用减少,位运算通常会使用较少的功率,所以在一些Java底层算法中,巧妙的使用位运算可以大量减少运行开销 阅读详情

一、位运算

位运算用来操作整数基本类型中的的单个bit,即二进制位。

二、位运算类型

1、“与”操作 & :输入都为1的情况下,才为1,否则为0;
2、“或”操作 | :输入都为0的情况下,才为0,否则为1;
3、“异或”操作 ^ : a^b = a’b | ab’ (a’表示非a, ~a)
解释:
当a=1,b=1时,a^b = 0;
当a=1,b=0时,a^b = 1;
当a=0,b=1时,a^b = 1;
当a=0,b=0时,a^b = 0;

三、加密原理

将特定字符串转变为一组bit型数组,将每一个bit数据和特定bit数值进行异或,产生的数组转化为字符串,这样可以起到加密的效果。而解密的操作是,将加密操作重新进行一遍,这样就还原了之前的字符串。这是位运算(异或)的一个重要特性。

四、加密与解密实例

……
Scanner scan = new Scanner(System.in);
String target = scan.nextLine();
char[] arr = target.toCharArray();
for(int i=0;i< arr.length;i++){
arr[i] = (char)(arr[i]^200);
}
加密的字符串:arr.toString();
for(int i=0;i< arr.length;i++){
arr[i] = (char)(arr[i]^200);
}
解密的字符串:arr.toString();
……

基于位运算的两种字符串加密解密算法 位运算即是直接进行二进制位的处理.利用c语言的位操作功能,可以方便地将程序中的许多开关变量存储在一个字节的特定位中以节省内存,此类的思想和技巧常常被用于操作系统、计算机网络协议和软件的设计中⋯ .目前现有的C和C++的教材书籍中对于位运算的讲解和阐述较为简略,大多都是出于知识体系完整性的考虑而涉及了一些位运算符及其简单的应用 ].这对一些学习程序设计的人来说远远不够,很多学生仅仅知道有位运算符的存在,根本不会在编程中使用它,且对学生学习后续的课程也会造成一定困难. 本文通过介绍位运算符的运算规则及其在字符串加密解密中的应用实例分析,来演示位运算的特殊应用,揭示其在实际程序设计中的作用,从而加深学生对位运算的理解 立即下载

相关推荐

异或位运算加密

通过异或位运行进行加密,算法可公开,保存好key就行

位加密、解密算法

位加密解密算法即将明文信息转化为二进制数据,然后对这些二进制位进行加密便得到密文。位加密算法依托于计算机的强大的位处理能力,在实际应用中非常流行。现代密码学中的很多加密、解密算法方案都依赖于位加密、解密思路,例如,非常流行的序列密码方案。 1. 位加密、解密算法 在java语言中,提供了6种位运算符,如下表所示。在密码学中,可以根据需要来选择合适的位运算符进行加密、解密。一般来说,使用异或运算要比...

闵浮龙的博客 1682

JS通过位运算实现权限加解密

首先介绍一下js中的位运算: 1. “&” :与运算,转化为二进制数,如果相同位数都为1则得结果为1,否则为0; 2. “|” :或运算,转化为二进制数,如果相同位数只要有一个为1则得结果为1,否则为0; 3. “^” :异或运算,转化为二进制数,如果相同位数不同则得结果为1,否则为0; 4.”<<” 异位运算符,1<<1,表示将1左移一位,也就是010,在二进制中代表2; 顺便说一下,十进制数字互相转化。 十进制转为别的进制: var num = 123; console.log(num.toString(2)) console.log(num.toString(8))//参数传想要转化的

位运算加密

主要是用到二进制的异或运算。 如: 加密方法:  设置一密码,如code=123,将字符量ch与密码code做异或运算(ch∧code),则产生ch的加密码;而将加密码ch与密码code做异或运算将还原为解码。  如: ch=’A’, ch∧code等价于:01000001∧01111011,异或结果为加密码:00111010;  再将加密码 00111010 与密码code做异或运算: 00...

weixin_34128501的博客 205

java位运算加密示例

通过位运算中的"^"异或运算符把字符串与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到一个加密后的字符串

逆变器专题(9)-基于dq坐标系的逆变器解耦控制建模与实时仿真分析

本文深入探讨了基于dq坐标系的逆变器解耦控制建模与实时仿真分析。通过生动的比喻和详细的数学推导,阐述了如何通过坐标变换和前馈补偿实现d轴与q轴的独立控制,从而提升系统动态性能与稳定性。文章还介绍了在MATLAB/Simulink中搭建仿真模型、分析动态响应与稳定性的方法,并展望了硬件在环(HIL)实时仿真的高级验证手段,为新能源并网与电机驱动领域的工程师提供了宝贵的实践指南。

gold的博客 547

用位运算的异或运算 实现加密和解密的功能 (Java经典编程案例)

本实例用位运算的异或运算符 “^” 把字符串与一个指定的值进行异或运算,从而改变字符串中每个字符的值,这样就可以得到一个加密后的字符串。 把加密后的字符串作为程序的输入内容,异或运算会把加密后的字符串还原为原有的字符串的值。代码如下: import java.util.Scanner; /** * 用位运算的异或运算实现加密和解密的功能 */ public class Example { ...

数据知道的博客 2万+

国产大模型编程能力深度分析报告(2026年5月更新版)

2026年5月国产大模型编程能力报告显示,主流模型迎来重大升级。DeepSeek V4以1.6T参数创性能新高,Qwen3.6-Plus支持原生多模态编程,MiniMax M2.7转向闭源并优化Agent编码,Kimi K2.6成为商业化成熟的主力模型,GLM-5开源并涨价30%。阿里云百炼推出双轨订阅体系,区分团队和个人开发者需求。各模型在参数规模、上下文长度、性能表现和适用场景上各具优势,国产AI编程服务正加速向订阅制转型,成本效益显著提升。

Willin Wang 的全栈升级指南 1662

【C语言练习】064. 使用位运算实现简单的加密和解密

通过使用位运算(特别是异或运算),可以实现一个简单的加密和解密算法。这种方法的优点是实现简单且高效,但安全性较低,适合用于学习和一些对安全性要求不高的场景。

视睿 1146

量子阱技术解析:从基础原理到前沿应用

本文深入解析量子阱技术,从微观“能量游泳池”的基础原理出发,阐释了其通过限制电子实现能级量子化,从而精确调控发光波长的核心机制。文章详细探讨了量子阱在半导体激光器和LED中的革命性应用,如实现低阈值电流与高亮度显示,并展望了其在能带工程及量子级联激光器等前沿领域的发展与挑战。

weixin_29267307的博客 282

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件

kernelbase.dll​是一个系统文件,属于Microsoft Windows操作系统的一部分。该DLL(动态链接库)文件包含了许多基本且低级的系统函数,这些函数被Windows上运行的各种程序和进程调用。kernelbase.dll通常与Kernel32.dll紧密相关,它是实现许多Windows API(应用程序编程接口)的封装。这些API涉及到内存管理、输入输出操作、进程和线程管理以及其他许多核心的操作系统功能。

电脑修复君的博客 4534

JAVA 通过位运算进行简单的加密

我们可以通过一个简单的位运算进行简单的加密 import java.util.Scanner; public class Example{   public static void main(String[]args){     Scanner input = new Scanner(System.in);     System.out.println("请输入一个英文字符或解密字符串"...

weixin_30887919的博客 123

别再只会插拔了!深入Linux内核,手把手调试USB热插拔中断(以高通平台为例)

本文深入探讨了Linux内核中USB热插拔中断的调试方法,特别针对高通平台提供了详细的实战指南。从硬件基础到内核机制,再到中断调试工具和常见问题排查,帮助开发者系统性地解决USB设备识别问题。通过监控中断状态、分析处理流程和高级调试技巧,提升USB热插拔的稳定性和性能。

weixin_29161785的博客 429

用位运算符异或实现简单的加密

首先在c盘jingtianxiaozhi目录下放一张图片

闲着没事_玩玩JAVA的专栏 1318

偏最小二乘回归分析原理详解和案例分析实例

偏最小二乘回归分析原理详解背景偏最小二乘回归分析 Partial least squares regression analysis基本思想建模步骤步骤一:分别提取两变量组的第一对成分,并使之相关性达最大步骤二:建立 y1,⋯ ,yp\boldsymbol{y}_{1}, \cdots, \boldsymbol{y}_{p}y1​,⋯,yp​ 对 u1\boldsymbol{u}_{1}u1​ 的回归及 x1,⋯ ,xm\boldsymbol{x}_{1}, \cdots, \boldsymbol{x}_{

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 9977

基于YOLOv5s的RK3588多线程部署16FPS暴涨到120FPS 轻量化深度学习部署实战教程(包括性能优化与加速)37

本文介绍了如何在RK3588平台上利用线程池优化YOLOv5模型的推理性能。RK3588内置3个NPU核心,支持多核并行处理。作者设计了一个线程池架构:1个线程负责数据读取,10个线程处理NPU运算,1个线程输出结果。该架构包含任务队列、线程管理和工作线程三个核心组件,通过合理设置线程数、任务队列大小等参数确保性能稳定。文章提供了详细的C++实现代码,包括线程池初始化、任务提交、结果获取等功能模块,并讨论了多线程同步和内存管理的关键技术要点。该方案可显著提升深度学习模型在嵌入式设备上的部署效率。

FJN110的博客 9230

java移位加密_JAVA 通过位运算进行简单的加密

我们可以通过一个简单的位运算进行简单的加密import java.util.Scanner;public class Example{public static void main(String[]args){Scanner input = new Scanner(System.in);System.out.println("请输入一个英文字符或解密字符串");//获取用户输入的字符String ...

weixin_39531604的博客 578

基于单片机的智能温控风扇设计

该智能温控风扇系统的设计目标是根据环境温度自动控制风扇的转速或开关状态,确保用户始终处于舒适的温度范围内。实时温度监测:通过温度传感器(如DS18B20或DHT22)实时监控环境温度。风扇控制:根据温度变化自动调节风扇的转速,温度过高时风扇加速,温度适中时风扇转速降低,达到节能与舒适平衡。LCD显示:通过LCD屏幕实时显示温度信息。无线通信:通过Wi-Fi或蓝牙模块将温度数据发送至手机或云平台,支持远程控制风扇的开关或调节转速。报警功能:温度过高或过低时,蜂鸣器发出警报,提示用户注意。

2201_76125393的博客 1165

加密可以这样简单(位运算)

通过位运算的“^”异或运算符把字符串与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到一个加密后的字符串,当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串还原为原有字符串的值,如图 加密效果图 首先创建Example类,在该类的主方法中创建System类的标准输入流的扫描器对象,提示用户输入一个英文的字符串或者要解密的字符串,然后通过...

weixin_34419321的博客 194

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

实例023 - 加密可以这样简单(位运算)

心法领悟023:灵活使用位运算。 灵活运用位运算可以实现很多高级、高效的算法。例如,一个数字的位移运算,每左移n位,就等于这个数乘以2的n次方,每右移n位,就等于这个数除以2的n次方,而且这个算法非常快。 import java.util.Scanner; public class Example { public static void main(String[] args) ...

技术与人际,两手都要硬 198

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java实现 字符串加密 输入字符串进行简单的位运算,输出加密或解密后的字符串

Java实现 字符串加密 输入字符串进行简单的位运算,输出加密或解密后的字符串 具体代码如下: package package2; import java.util.Scanner; /** * 加密可以这样简单(位运算) * @author asus * 通过位运算的异或运算符"^"把字符串与一个指定的值进行异或运算, * 从而改变字符串每个字符的值,这样就可以得到一个加密后的字符串。 * 当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串 * 还原为字符串的值。 */ p

jasmyn518的博客 2275

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Java】利用位运算原来加密可以很简单

通过位运算的“^”异或运算符把字符串与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到一个加密后的字符串。当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串还原为原有字符串的值。        创建Example类,在该类的主方法中创建System类的标准输入流的扫描器对象,提示用户输入一个英文的字符串或者要解密的字符串,然后通过扫描器获取用户输入的字符串,经过加

程序猿开发日志【学习永无止境】 4930

Java通过位运算做简单加密

本示例通过异或运算符^进行简单加密演示: 代码: public class Exapmle1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入要加密的字符串:"); String password = scann...

指尖艺术的博客 349
上一篇: java源码编译指令
下一篇: 浮点数计算
晓弋风
博客等级 码龄11年 1粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值