C语言:用异或^实现数据加密
来源:互联网 发布:mac西柚色口红专柜价格 编辑:程序博客网 时间:2024/05/22 09:46
“^”的意思是:当两个操作数对应位不相同时结果的相应位即为一,否则为零。当然,这里的对应位是指二进制的位。
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
用“^”加密解密的原理:
将需要加密的内容看做A,密钥看做B,A ^ B=加密后的内容C。
而解密时只需要将C ^ 密钥B=原内容A。如果没有密钥,就不能解密!
实例:
#include <stdio.h>#include <stdlib.h>#include <string.h>#define KEY 0x86int main(){ char p_data[16] = {"Hello World!"}; char Encrypt[16]={0},Decode[16]={0}; int i; for(i = 0; i < strlen(p_data); i++) {Encrypt[i] = p_data[i] ^ KEY; } for(i = 0; i < strlen(Encrypt); i++) {Decode[i] = Encrypt[i] ^ KEY; } printf("Initial date: %s\n",p_data); printf("Encrypt date: %s\n",Encrypt); printf("Decode date: %s\n",Decode); return 0;}
运行结果:
Initial date: Hello World!Encrypt date: 毋觋棣验絷猝Decode date: Hello World!
加密解密还支持多重加密,但是要记得加密的次数,解密时运用相同密钥做解密操作相同次数即可。
不仅如此,加密解密还支持多重不同密钥加密,只要你记得加密使用密钥!
0 0
- C语言:用异或^实现数据加密
- C语言 异或加密
- 用C语言对数据或文件内容进行加密
- 一个异或加密方案--C语言实现
- 简单异或加密(C语言)
- 117 用C语言对数据或文件内容进行加密
- 异或加密与解密(C语言)注释
- C语言 命令行传参进行 异或 加密/解密
- c语言^异或操作符进行加密解密
- C语言加密数据(xor加密)
- md5加密C语言实现
- c语言md5加密实现
- C语言实现区块加密
- c语言实现des加密
- md5加密C语言实现
- 使用异或加密数据
- 使用异或加密数据
- 简单异或加密实现
- UINavigationController基础篇
- kuangbin——线段树专题 C - A Simple Problem with Integers
- 基础函数
- hdu 2089 不要62(数位DP/暴力)
- JStry&catch
- C语言:用异或^实现数据加密
- kuangbin——线段树专题 E - Just a Hook
- SkipList跳表的实现
- 弹幕效果实现
- HDU 5793 A Boring Question(快速幂+求逆元)
- OJ3311数据结构实验之串三:KMP应用
- 面试中关于key/value的问题及map的理解
- leetcode_c++: Regular Expression Matching(010)
- 从Windows到Linux(二)