社区
C++ 语言
帖子详情
位运算加密,解密问题
Eddie780
2016-09-03 08:24:21
几个位运算中,好像只有异或能实现加密并解密吧?比如0x1F ^ 7 结果值再^7能回到0x1F,其他的好像都不可逆。请问还有什么方法能把一个单字节变量加密解密呢?不能直接用+或-,会进到高位或减太多变负数,谢谢大家!
...全文
211
4
打赏
收藏
位运算加密,解密问题
几个位运算中,好像只有异或能实现加密并解密吧?比如0x1F ^ 7 结果值再^7能回到0x1F,其他的好像都不可逆。请问还有什么方法能把一个单字节变量加密解密呢?不能直接用+或-,会进到高位或减太多变负数,谢谢大家!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dustpg
2016-09-03
打赏
举报
回复
....负数又不是不能用, 负数再减回去不就行了.. 除了基本的位运算, 还有比如按位循环左/右移..这一般有直接的指令, 甚至还能打乱位顺序
paschen
版主
2016-09-03
打赏
举报
回复
那是因为异或加密具有可逆性,只要在一次异或就可解密,你只需要找一个同样具有可逆的算法即可,比如按位取反也可以
ztenv
版主
2016-09-03
打赏
举报
回复
非摘要的加密/解密一般都是可逆的,如:des、3des等等,
ForestDB
2016-09-03
打赏
举报
回复
随便举个例子,可以把高低字节swap; 又或者把相邻bit交换。
JavaSE案例--四连棋游戏--位
运算
传统的四连棋算法,使用的是两维数组的方式,这种算法非常的复杂和繁琐。这套视频,采用位
运算
,& | << |= 等进行四连棋的游戏开发,
运算
性能非常快。这是位
运算
使用的经典案例!(本套视频只提供算法分析代码,不提供项目演示代码)
位
加密
、
解密
算法
位
加密
解密
算法即将明文信息转化为二进制数据,然后对这些二进制位进行
加密
便得到密文。位
加密
算法依托于计算机的强大的位处理能力,在实际应用中非常流行。现代密码学中的很多
加密
、
解密
算法方案都依赖于位
加密
、
解密
思路,例如,非常流行的序列密码方案。 1. 位
加密
、
解密
算法 在java语言中,提供了6种位
运算
符,如下表所示。在密码学中,可以根据需要来选择合适的位
运算
符进行
加密
、
解密
。一般来说,使用异或
运算
要比...
用位
运算
的异或
运算
实现
加密
和
解密
的功能 (Java经典编程案例)
本实例用位
运算
的异或
运算
符 “^” 把字符串与一个指定的值进行异或
运算
,从而改变字符串中每个字符的值,这样就可以得到一个
加密
后的字符串。 把
加密
后的字符串作为程序的输入内容,异或
运算
会把
加密
后的字符串还原为原有的字符串的值。代码如下: import java.util.Scanner; /** * 用位
运算
的异或
运算
实现
加密
和
解密
的功能 */ public class Example { ...
加密
解密
异或
运算
加密
解密
异或
运算
简单
加密
---位
运算
一、位
运算
位
运算
用来操作整数基本类型中的的单个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时
C++ 语言
64,666
社区成员
250,488
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章