日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux c最簡單的加密程序

 mrjbydd 2015-09-25

最初的密碼程序是在Hirst First c里面看到的,大概內(nèi)容如下:
對待加密的字符串的每一個字符和某個數(shù)值進行一次按位異或得到密文,再進行一次按位異或得到明文。
原文主要代碼片段:
//加密解密程序 
void encrypt(char *message)
{
  while (*message) {
    //對message的每一個字符和31進行按位異或
    *message = *message ^ 31;
    message++;
  }
}

補充知識:按位異或的結(jié)果是“同位得1,異位得0”。
比如數(shù)值2和數(shù)值1進行按位異或的情況如下:
2對應(yīng)的二進制表示:10
1對應(yīng)的二進制表示:01
2^1的結(jié)果最終表示:00

這個時候再把2^1的結(jié)果和1進行按位異或
01
00
10
既然可以和某個數(shù)值進行按位異或進行加密,那么是否可以和某個字符串進行按位異或呢,答案是可以。
原理如下:待加密的密文的每一個字符和一個密匙(任意字符串) 的每一個字符分別進行一次按位異或進行加密解密即可。

encrypt.c是原文程序;encrypt2.c是我改編的程序,可以在你的項目中使用哦^^
標簽: <無>

代碼片段(2)[全屏查看所有代碼]

1. [文件] encrypt.c ~ 375B     下載(3)     

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<stdio.h>
 
//加密解密程序
void encrypt(char *message)
{
    while (*message) {
        //對message的每一個字符和31進行按位異或
        *message = *message ^ 31;
        message++;
    }
}
 
int main()
{
    char s[] = "Hello qizexi";
     
    //運行一次:進行加密
    encrypt(s);
    printf("加密:%s\n", s);
    //再運行一次是解密
    encrypt(s);
    printf("解密:%s\n", s);
     
    return 0;
}

2. [文件] encrypt2.c ~ 577B     下載(1)     

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
 
//加密解密程序
void encrypt(char *message, const char *key)
{
    int i;
    int len = strlen(key);
    while (*message) {
        //對message的每一個字符和31進行按位異或
        for (i = 0; i < len; i++) {
            *message = *message ^ (int)key[i];
        }
        message++;
    }
}
 
int main()
{
    //密文
    char s[] = "Hello qizexi";
    //密匙
    char *key = "qizexi@163.com";
     
    //運行一次:進行加密
    encrypt(s, key);
    printf("加密:%s\n", s);
    //再運行:進行解密
    encrypt(s, key);
    printf("解密:%s\n", s);
     
    return 0;
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多