zoukankan      html  css  js  c++  java
  • 【Agorithm】一次一密加密解密算法

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstdlib>
     4 #include<ctime>
     5 #include<cmath>
     6 #include<cstring>
     7 #include<string>
     8 #include<windows.h>
     9 #define MAX 100
    10 
    11 using namespace std;
    12 
    13 char key[MAX];
    14 int len;
    15 
    16 char *bitcode(char *str){
    17     char *wen;
    18     if((wen = (char*)malloc(len+1))==NULL){
    19         cout<<"申请内存失败!"<<endl;
    20         exit(1);
    21     }
    22     for(int i=0; i<len; i++){
    23         wen[i] = str[i]^key[i];
    24     }
    25     wen[len] = '';
    26     return wen;
    27 }
    28 
    29 
    30 int main(){
    31 
    32     char str[MAX];
    33     char *miwen, *mingwen;
    34     char again;
    35 
    36     srand(time(NULL));
    37     cout<<"				一次一密加密算法演示!
    
    ";
    38     s1:
    39         cout<<"请输入需要加密的明文字符串:";
    40         fflush(stdin);
    41         gets(str);
    42         len = strlen(str);
    43         for(int i=0; i<len; i++){
    44             key[i] = rand()%10+'0';
    45         }
    46         cout<<"此次加密的密钥序列为:";
    47         for(int i=0; i<len; i++){
    48             cout<<key[i]; 
    49         }
    50         cout<<endl;
    51         miwen = bitcode(str);
    52         cout<<"加密前的明文为:";
    53         cout<<str<<endl;
    54         cout<<"加密后的密文为:"<<miwen<<endl;
    55         mingwen = bitcode(miwen);
    56         cout<<"解密后的明文为:"<<mingwen<<endl;
    57         cout<<endl;
    58 
    59     s2:
    60         cout<<"继续执行 (Y/N)?";
    61         fflush(stdin);
    62         cin>>again;
    63         if(again =='y'|| again =='Y'){
    64             goto s1;
    65         }
    66         else if(again == 'n' || again == 'N'){
    67             cout<<"演示结束!"<<endl;
    68             return 0;
    69         }
    70         else{
    71             cout<<"输入错误请重新输入!"<<endl;
    72             goto s2;
    73         }
    74         system("pause");
    75 }

    以下是运行结果:

  • 相关阅读:
    代码整洁之道 读书笔记
    AJAX分页带页码
    下拉框绑定数据
    Excel导入导出
    万能分页存储过程
    android 更新uI主线程
    eclipse配置j2ee项目
    java常见错误云集与注意事项
    亚马逊服务器搭建
    常见sql的error解决方法
  • 原文地址:https://www.cnblogs.com/dragonir/p/5862585.html
Copyright © 2011-2022 走看看