简单LinuxC程序关于加密(将任意长字符转换为定长整数)
来源:互联网 发布:淘宝网毛衣女装张大奕 编辑:程序博客网 时间:2024/06/05 16:08
本程序功能是将任意长字符串转换为定长(16位)整数,这是一个不可逆的过程,所以可以用来给数据加密。以下是我具体实现的代码。
源代码:
#include <stdio.h>#include <string.h>#define SIZE 1024#define LEN 16//原始码转换函数int add(int pwdnum){while(pwdnum >= 10) //得到个位数的最终码{int tmp = pwdnum;pwdnum = 0;while(tmp) //每一位数字相加{pwdnum += tmp%10;tmp = tmp/10;}}return pwdnum; //返回最终码}//分组相加函数,分16组,得到16个原始码int encrypt(char *str,char *pwd,int len){if(str == NULL){return -1;}int k = len/LEN + 1;int i,j;int pwdtmp[LEN] = {0};//16个原始码for (i = 0;i < LEN;i++){for (j = 0;j < k;j++){pwdtmp[i] += str[i+LEN*j]; //每组对应位置的数相加得到原始码}}for (i = 0;i < LEN;i++){pwd[i] = add(pwdtmp[i]) + '0'; //将原始码转换为个位数,再转变为对应字符}return 0;}int main(){char str[SIZE] = {0}; //原始字符串char pwd[LEN+1] = {0}; //加密16位数字printf ("请输入一个字符串\n");scanf("%s",str);int len = strlen(str);encrypt(str,pwd,len);printf ("pwd = %s\n",pwd); return 0;}
运行结果:
有关数据加密的更多更深的知识,欢迎大家一起讨论分享。
阅读全文
0 0
- 简单LinuxC程序关于加密(将任意长字符转换为定长整数)
- 简单LinuxC程序关于加密(将任意长字符转换为定长整数)
- 简单LinuxC程序关于任意长整数相加(字符串实现)
- 简单LinuxC程序关于进制转换(递归函数)
- 将一个字节数组从任意字节offset开始,长为len的字节转换为整数
- 简单LinuxC程序关于实现进制转换
- 任意长度字符串转化为16位定长的数(类似加密)
- 简单LinuxC程序关于实现从终端获取一条语句并统计各种字符数量(字符输入输出)
- 【Redis源码学习】将长整数转换为字符串
- 将传入的任意中文字符转换为拼音
- 任意整数转换为任意进制
- 简单LinuxC程序关于报数问题
- 【c语言】将二进制整数转换为字符
- 将整数转换为相应的一个字符数组
- 任意字符转换为数字
- 关于将一个字符串转换为整数的问题
- 把整数转换为字符
- 数字字符转换为整数
- PCB 布线的直角走线、差分走线和蛇形线基础理论
- Oracle零基础入门.第一周课程总结
- 飞行员配对方案问题
- JAVA 表示时间:Date和SimpleDateFormat类表示时间
- 直接调用阿里云视频点播API实现视频播放
- 简单LinuxC程序关于加密(将任意长字符转换为定长整数)
- Linux多线程Pthread学习小结
- AC自动机
- HDU 2050 折线分割平面
- NVIDIA Jetson TX1 系列开发教程之九:USB摄像头MJPEG格式图像采集
- C/C++内存管理详解
- 经验分享-来自职场小白的学习方法
- STM8S103之tim1捕获周期及占空比
- 【读书笔记】TCP/IP网络编程 第23章 纯重叠I/O实现回声