当前位置: 首页 > news >正文

旅游类网站设计/重庆网站优化公司

旅游类网站设计,重庆网站优化公司,在58同城做网站有生意吗,无锡大型网站设计公司/* RC4加密解密 流密码是使用较短的一串数字&#xff08;密钥&#xff09;来生成无限长的伪随机密钥流&#xff0c;然后将密钥流和明文异或&#xff0c; 解密就是将密钥流和密文进行异或。 程序摘自《Windows C/C加密解密实战》&#xff0c;有点点修改。 */ #include <iost…

/*
RC4加密解密
流密码是使用较短的一串数字(密钥)来生成无限长的伪随机密钥流,然后将密钥流和明文异或,
解密就是将密钥流和密文进行异或。

程序摘自《Windows C/C++加密解密实战》,有点点修改。
*/


#include <iostream>
#include<stdio.h>
#define MAX_CHAR_LEN 100000

void producekeystream(int textlength,unsigned char key[],int keylength,unsigned char keystream[])
{
    unsigned int S[256];
    int i,j=0,k;
    unsigned char tmp;
    for(i=0;i<256;i++)
        S[i]=i;
    for(i=0;i<256;i++)
    {
        j=(j+S[i]+key[i%keylength])%256;
        tmp=S[i];
        S[i]=S[j];
        S[j]=tmp;
    }
    i=j=k=0;
    while(k<textlength)
    {
        i=(i+1)%256;
        j=(j+S[i])%256;
        tmp=S[i];
        S[i]=S[j];
        S[j]=tmp;
        keystream[k++]=S[(S[i]+S[j])%256];
    }
}

void rc4encdec(int textlength,unsigned char plaintext[],unsigned char keystream[],unsigned char ciphertext[])
{
    int i;
    for(i=0;i<textlength;i++)
    {
        ciphertext[i]=keystream[i]^plaintext[i];
    }

}

int main(int argc,char *argv[])
{
    unsigned char plaintext[MAX_CHAR_LEN]; //存放源明文
    unsigned char chktext[MAX_CHAR_LEN];   //存放解密后的明文
    unsigned char key[32];                 //存放用户输入密钥
    unsigned char keystream[MAX_CHAR_LEN]; //存放生成的密钥流
    unsigned char ciphertext[MAX_CHAR_LEN];//存放加密后的密文
    unsigned  c;
    int i=0,textlength,keylength;
    FILE *fp;
    if((fp=fopen("mingwen.xls","rb"))==NULL)
    {
        printf("err mingwen");
        return 0;
    }
    while((c=getc(fp))!=EOF)
        plaintext[i++]=c;
    textlength=i;
    fclose(fp);

    printf("password:");
    for(i=0;(c=getchar())!='\n';i++)
        key[i]=c;
    key[i]='\0';
    keylength=i;

    producekeystream(textlength,key,keylength,keystream);//使用key生成一个keystream

    rc4encdec(textlength,plaintext,keystream,ciphertext);//使用密钥流和明文生成密文

    fp=fopen("miwen.xls","wb");
    for(int i=0;i<textlength;i++)
        putc(ciphertext[i],fp);
    fclose(fp);

    rc4encdec(textlength,ciphertext,keystream,chktext);

    fp=fopen("jiemiwen.xls","wb");
    for(int i=0;i<textlength;i++)
        putc(chktext[i],fp);
    fclose(fp);

    return 0;
}
 

http://www.lbrq.cn/news/1289521.html

相关文章:

  • 深圳建设局网站/武汉seo网站
  • 网站域名密码忘了/百度云登录
  • 建设网站需要申请什么/百度如何免费打广告
  • 厦门网站建设哪家便宜/网络推广公司是干嘛的
  • 网站域名备案办理拍照/网络营销策划方案模板范文
  • 东阳网站制作/推广网上国网
  • 建安证查询网站/百度关键词优化送网站
  • 长沙移动网站建设/营销策划公司收费明细
  • 深圳房产 网站建设/seo免费推广软件
  • 做AE视频素材在哪些网站上可以找/国内重大新闻10条
  • 男人和女人做性的网站/灰色关键词排名代做
  • 零售客户电商网站登录/电脑培训班电脑培训学校
  • wordpress插件头像/seo搜索引擎优化推荐
  • 做网页去哪些网站找素材较好/广州百度推广客服电话多少
  • 电商是干什么的/关键词优化排名首页
  • 音乐制作网站/老铁外链
  • 手机网站 wordpress/优化网站价格
  • 帮我写一篇网站/深圳互联网推广公司
  • 做二手车有哪些网站有哪些手续/怎么找到精准客户资源
  • 北京营销型网站建设方案/seo入门书籍
  • 宜宾建设网站/甘肃百度推广电话
  • 北京手机网站开发公司/百度搜索排名靠前
  • 武汉企业做网站找哪家好/友情链接站长平台
  • 四川seo整站优化吧/网络营销章节测试答案
  • 上海哪家公司可以做网站/广州市疫情最新
  • 微信网站怎样做/推广网站怎么制作
  • 锦州网站建设推广/游戏优化
  • 网站制作多少钱?/网络seo招聘
  • 陕西建委建设厅网站/广州百度网站快速排名
  • 百度网站建设优化/有没有购买链接
  • PyTorch数据选取与索引详解:从入门到高效实践
  • Leetcode—1035. 不相交的线【中等】
  • 极客大挑战2019-HTTP
  • 算法牢笼与思想飞地:在人工智能时代守卫灵魂的疆域
  • GraphQL批量查询优化:DataLoader如何让数据库访问速度飞起来?
  • 对随机生成的html文件做标签简析