C语言双重置换加密
来源:互联网 发布:曲靖医专网络管理系统 编辑:程序博客网 时间:2024/06/11 10:20
密钥:置换规则:(1,2,3,4,5,6,7,8)->(2,3,4,5,6,7,8,1)进行行置换,(1,2,3,4,5,6,7,8)->(3,4,5,6,7,8,1,2)进行列置换。
#include <stdio.h>#include <string.h>int main(){ char yw[3][50] = {"大风起兮云飞扬,", "威加海内兮归故乡,", "安得猛士兮守四方?"} ; printf("原文是:%s%s%s\n",yw[0],yw[1],yw[2]); char zh1,zh2,zh3,zh4; for(int j = 0; j < 3; j++){ zh1 = yw[j][0]; zh2 = yw[j][1]; for(int i = 0; i < strlen(yw[j]); i++){ if(i < strlen(yw[j]) - 2){ yw[j][i] = yw[j][i+2] ; } if(i == strlen(yw[j]) - 1){ yw[j][i] = zh2; } if(i == strlen(yw[j]) - 2){ yw[j][i] = zh1; } } } printf("第一次重置后是:%s%s%s\n",yw[0],yw[1],yw[2]); /***************************************/ for(int j = 0; j < 3; j++){ zh1 = yw[j][0]; zh2 = yw[j][1]; zh3 = yw[j][2]; zh4 = yw[j][3]; for(int i = 0; i < strlen(yw[j]); i++){ if(i < strlen(yw[j]) - 4){ yw[j][i] = yw[j][i+4] ; } if(i == strlen(yw[j]) - 1){ yw[j][i] = zh2; } if(i == strlen(yw[j]) - 2){ yw[j][i] = zh1; } if(i == strlen(yw[j]) - 3){ yw[j][i] = zh4; } if(i == strlen(yw[j]) - 4){ yw[j][i] = zh3; }} } printf("第二次重置后是:%s%s%s\n",yw[0],yw[1],yw[2]); /***************************************/ for(int j = 0; j < 3; j++){ zh1 = yw[j][strlen(yw[j]) - 1]; zh2 = yw[j][strlen(yw[j])- 2]; zh3 = yw[j][strlen(yw[j]) - 3]; zh4 = yw[j][strlen(yw[j])- 4]; for(int i = strlen(yw[j]) - 1 ;i >= 0; i--){ if(i > 3){ yw[j][i] = yw[j][i-4] ; } if(i == 1){ yw[j][i] = zh1; } if(i == 0){ yw[j][i] = zh2; }if(i == 2){ yw[j][i] = zh4; } if(i == 3){ yw[j][i] = zh3; }}} printf("******************\n******************\n******************\n "); printf("第一次解密重置后是:%s%s%s\n",yw[0],yw[1],yw[2]); /***************************************/ for(int j = 0; j < 3; j++){ zh1 = yw[j][strlen(yw[j]) - 1]; zh2 = yw[j][strlen(yw[j])- 2]; for(int i = strlen(yw[j]) - 1 ;i >= 0; i--){ if(i > 1){ yw[j][i] = yw[j][i-2] ; } if(i == 1){ yw[j][i] = zh1; } if(i == 0){ yw[j][i] = zh2; }} } printf("第一次解密重置后是:%s%s%s\n",yw[0],yw[1],yw[2]);}
0 0
- C语言双重置换加密
- C 语言二维数组和双重指针
- C语言之二级指针/双重指针
- C语言:双重指针对数组排序;
- C语言实现LRU页面置换算法
- php的双重加密
- 破解SYSKEY 双重加密
- 电文加密 C语言
- c语言二进制文件加密
- C语言凯撒加密
- c语言文件加密
- delphi 加密(置换)
- 置换加密法
- 关于C语言break跳出双重循环的小技巧
- C语言之_双重指针、多文件、include、文件
- (双重循环之)c语言回顾之冒泡排序
- 操作系统之——页面置换算法C语言实现
- 先进先出页面置换算法c语言源码
- ROS图像相关包
- 约翰·卡马克和他的id Software
- 编译器设计:整型立即数支持
- Reorder List ---LeetCode
- php取周的第一天和最后一天
- C语言双重置换加密
- java 初探(五)
- ECSHOP网站程序可以绕过权限上传一句话木马
- 11章上机
- Android 接入微信支付宝支付
- C语言一次一密
- DHCP Emulator
- Android 爆炸粒子动画-参考ExplosionField开源项目
- Eclipse+maven配置+web项目实现(修改maven下jsp报错和其web项目默认的jdk和servlet版本)