linux c加密和解密的例子
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
此方法利用按位异或的算法,按位异或就是指同位得1,异位得0;
例如:2和1异或
2的二进制是10
1的二进制是01
2^1的结果是00
我们将2^1的结果00再次和1异或
2^1的结果是00
1的二进制是01
异或结果是10(也就是2)
相信大家已经明白了我的意思了。
先看一个固定的key(31)的算法
//加密解密程序
voidencrypt(char*message)
{
while(*message) {
//对message的每一个字符和31进行按位异或
*message = *message ^ 31;
message++;
}
}
intmain()
{
chars[] = "Hello qizexi";
//运行一次:进行加密
encrypt(s);
printf("加密:%s\n", s);
//再运行一次是解密
encrypt(s);
printf("解密:%s\n", s);
return0;
}
下面是我们程序中经常看到的模样:
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
//加密解密程序
voidencrypt(char*message, constchar *key)
{
inti;
intlen = strlen(key);
while(*message) {
//对message的每一个字符和key进行按位异或
for(i = 0; i < len; i++) {
*message = *message ^ (int)key[i];
}
message++;
}
}
intmain()
{
//密文
chars[] = "Hello qizexi";
//密匙
char*key = "qizexi@163.com";
//运行一次:进行加密
encrypt(s, key);
printf("加密:%s\n", s);
//再运行:进行解密
encrypt(s, key);
printf("解密:%s\n", s);
return0;
}
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献5条内容
所有评论(0)