字符串加密小程序

来源:互联网 发布:新三板智库 大数据 编辑:程序博客网 时间:2024/05/21 19:39

随意输入一个字符串,将该字符串进行16位加密,并输出加密后的结果。

#include <stdio.h>#include <string.h>#define SIZE 100//打印函数void printfA(int pwd[],int len){int i;for(i = 0;i < len;i++){printf("%d",pwd[i]);}printf("\n");}//用递归将x的各个位相加,直到其为个位数int r_adding(int x){int k = 0;while(x / 10 > 0){k += x % 10; x /= 10;}k += x; //k保存各个位相加之和if(k / 10 == 0)return k;elsek = r_adding(k);}//将密码的各个位相加void adding(int pwd[],int len){int i;for(i = 0;i < len;i++)pwd[i] = r_adding(pwd[i]);printfA(pwd,16);}//将字符串以16为的形式排列并相加void encrypt(char *str,int k){int pwd[16] = {0};int i,j;for(i = 0;i < 16;i++){int tmp = i;for(j = 0;j < k;j++){pwd[i] += (int)str[tmp];tmp += 16; }}//printf("原始码为:\n");//printfA(pwd,16);printf("加密后为:\n");adding(pwd,16);}int main(){char str[SIZE] = {0};printf("请输入一个字符串:\n");scanf("%s",str);int k = strlen(str)/16 + 1;encrypt(str,k);    return 0;}


原创粉丝点击