• linux c最简单的加密程序


    最初的密码程序是在Hirst First c里面看到的,大概内容如下:
    对待加密的字符串的每一个字符和某个数值进行一次按位异或得到密文,再进行一次按位异或得到明文。

    补充知识:按位异或的结果是“同位得1,异位得0”。
    比如数值2和数值1进行按位异或的情况如下:
    2对应的二进制表示:10
    1对应的二进制表示:01
    2^1的结果最终表示:00

    这个时候再把2^1的结果和1进行按位异或
    01
    00
    10

    原文的加密程序如下:

    #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
    ", s);
        //再运行一次是解密
        encrypt(s);
        printf("解密:%s
    ", s);
        
        return 0;
    }
    encrypt1.c

    既然可以和某个数值进行按位异或进行加密,那么是否可以和某个字符串进行按位异或呢,答案是可以。
    原理如下:待加密的密文的每一个字符和一个密匙(任意字符串) 的每一个字符分别进行一次按位异或进行加密解密即可。
    最终按密匙加密的程序如下:

    #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
    ", s);
        //再运行:进行解密 
        encrypt(s, key);
        printf("解密:%s
    ", s);
        
        return 0;
    } 
    encrypt2.c

    怎么样是不是粉简单,感觉在你的项目中引入这个程序吧。 

  • 相关阅读:
    h5 百度获取地址
    Vue Cli项目使用PDF.js预览pdf无法访问到viewer.html
    Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead...
    VUE ES6转ES5,(ios 10.2版本,白屏,猜想es6语法原因)
    Vue+element-ui Upload 的http-request自定义上传文件
    vuejs中如何动态拼接生成字段名
    el-cascader 使用
    hdu 3555 数位dp入门
    codeforces Registration system
    hdu 1166 敌兵布阵
  • 原文地址:https://www.cnblogs.com/qizexi/p/4677165.html
Copyright © 2020-2023  润新知