RC4编程为何加密结果是乱码,而且求逆解码的结果与明文不同,多谢~

问题描述

RC4编程为何加密结果是乱码,而且求逆解码的结果与明文不同,多谢~

#include
#include
using namespace std;

void main()
{
char k[256];
int s[256],t[256];

cout<<"please input key"<<endl;
cin>>k;
cout<<endl;

for(int i=0;i<256;i++)
{
    s[i]=i;
    t[i]=k[i%strlen(k)];                            //将输入的密钥扩展为256位
}

int j=0;
for(i=0;i<256;i++)
{
    int temp;
    j=(j+s[i]+t[i])%256;

    temp=s[i];
    s[i]=s[j];
    s[j]=temp;                                              //s-box的变换,打乱原有的顺序

}

cout<<"please input plaintext"<<endl;

char plaintext[256],ciphertext[256];

int static key[256];
cin>>plaintext;

for(i=0;i<256;i++)
{
    cout<<s[i]<<" ";
}
cout<<endl;

cout<<strlen(plaintext);

cout<<endl;
j=0;
int m,n,q;
m=n=0;
for(i=0;i<strlen(plaintext);i++)              //循环产生和明文一样长的key密钥流
{
    int temp;
    m=(m+1)%256;
    n=(n+s[m])%256;

    temp=s[m];
    s[m]=s[n];
    s[n]=temp;

    int q;

    q=(s[i]+s[j])%256;

    key[i]=s[q];
    cout<<plaintext[i]<<"(";
    ciphertext[i]=plaintext[i]^key[i];

    cout<<ciphertext[i];

}

cout<<endl;

cout<<"/n密钥流是:";
for(i=0;i<strlen(plaintext);i++)
{   cout<<key[i]<<" "<<plaintext[i];
    cout<<endl;
}

cout<<"密文是:";
for(i=0;i<strlen(plaintext);i++)
{
    cout<<int(ciphertext[i]);
}

cout<<endl;
cout<<"解密后明文为:"<<endl;
int a[256];
for(i=0;i<strlen(plaintext);i++)
{
a[i]=ciphertext[i]^key[i];
cout<<a[i];
}

}

时间: 2024-10-01 14:32:52

RC4编程为何加密结果是乱码,而且求逆解码的结果与明文不同,多谢~的相关文章

java网络编程-使用URLConnection传递参数乱码,求大神们解决

问题描述 使用URLConnection传递参数乱码,求大神们解决 发送端: public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.

不同的机器压缩后的ZIP压缩文件上传后,有的存在中文乱码,求帮忙分析分析。

问题描述 不同的机器压缩后的ZIP压缩文件上传后,有的存在中文乱码,求帮忙分析分析. 用了commons-compress-1.8.jar下的ZipArchiveInputStream 进行的压缩包解压处理,在不同机器上对同样文件进行压缩生成zip压缩包,有的机器生成的压缩包上传后中文就乱码,有的就不是乱码,求帮忙分析分析. 解决方案 7zip 压缩文件 分析

编程-Yahoo UI(引用)问题,求高手指教!

问题描述 Yahoo UI(引用)问题,求高手指教! http://img.my.csdn.net/uploads/201309/02/1378129656_3660.jpg <!DOCTYPE html> new document <!--引入一个yui3的种子文件--> .hello{ background-color:red } <script type="text/javascript" src="http://yui.yahooapis

网络编程 ping程序有点问题,求大神帮忙看看

问题描述 网络编程 ping程序有点问题,求大神帮忙看看 // ping.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include #pragma comment(lib,"ws2_32") //定义ICMP首部 typedef struct icmp_hdr{ unsigned char icmp_type; //ICMP消息类型,回显请求:8,回显应答请求:0 unsigned char icmp_code; //代码,

mysqlworkbench eer导出sql乱码,求帮助

问题描述 mysqlworkbench eer导出sql乱码,求帮助 目前来看是workbench编码设置问题,我把导出的sql编码改成了utf8还是乱码. 解决方案 参考:http://blog.csdn.net/shxluwei/article/details/8026886http://blog.sina.com.cn/s/blog_8a3a624901018j83.html 解决方案二: 用的字符是否有字体等支持.为了简单,最好都用英文.

sql-从前台传过来一个json,控制器没乱码,service乱码?求指导

问题描述 从前台传过来一个json,控制器没乱码,service乱码?求指导 今天遇到一个特别奇怪的问题. 从前台传过来一个json.到controller接收时,没有乱码.但是传到service层,拼sql就乱码了,打印的sql中文乱码了. 各种处理乱码的方式都使了还是不好使. 大神,谁遇到过? 可以是什么原因导致的? 给小弟一些建议吧! 解决方案 你的controller 和 service 的文件编码是不是一样的? 网站前端开发工程师 HTML5 CSS3 平板网页开发http://job

shell 编程 语句-shell编程中的语句问题,求解答

问题描述 shell编程中的语句问题,求解答 #!/bin/bash use=cat cat_greet() { echo "hello cat" } if [ $use=cat ] then cat_greet fi no_exit=1 [[ $no_exit -eq 1 ]]&& exit(){true;} exit 这个程序输出结果为 hello cat 我想问的是 [[ $no_exit -eq 1 ]]&& exit() {true;} 这一句

文件上传-不同机器压缩的zip压缩包,在上传文件解压后存在乱码,求帮忙分析分析

问题描述 不同机器压缩的zip压缩包,在上传文件解压后存在乱码,求帮忙分析分析 有的机器的压缩包上传解压后没问题,有的上传解压后有中文乱码,不知道这是不是跟操作系统有关系

单链表-请教C编程题,本人初学者,求大神解答,万分感谢

问题描述 请教C编程题,本人初学者,求大神解答,万分感谢 求大侠帮忙:C语言程序设计---编程题说明:以下所有题目程序应是非递归的) 编写一个函数,输出整数m的全部素数因子.例如,m=120时,素数因子为:2,2,2,3,5 请编写程序判断一个字符串是否是回文.若是回文,函数返回值为1,否则返回值为0.(回文是顺读和倒读都一样的字符串).要求: 1) 编写sub()判断一字符串是否为回文 2) 在主函数中完成数据的输入与结果的输出 3.起泡排序是把大的元素向下移,也可以将小的元素向上移,请给出下