C++实现2X2Hill密码的加解密算法
到网上找个:Advanced Office Password Recovery 这个软件专门破解 Office 密码的。
把你的串号发过来,我给你试一下。
#include <iostream>using namespace std;
#define NUM 1000//定义最大值
void main ()
{
int key[2][2];
char word[NUM];
int word1[NUM];
char word2[NUM];
int num;
char voa[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
cout<<"请输入需要加(解)密的密钥矩阵:(范围:0~25)"<<endl;
cin>>key[0][0]; cin>>key[0][1]; cin>>key[1][0]; cin>>key[1][1];
cout<<"输入需要加(解)密的明文,需要偶数位:"<<endl;
cin>>word;
num=strlen(word);
for (int i=0;i<num;i++)//将字母转换为数字
{
for (int j=0;j<26;j++)
if ((word[i]==voa[j])||(word[i]==(voa[j]+32)))
word1[i]=j;
}
for (int i=0;i<num;)//加解密算法
{
word2[i]=(key[0][0]*word1[i]+key[0][1]*word1[i+1])%26;
word2[i+1]=(key[1][0]*word1[i]+key[1][1]*word1[i+1])%26;
i+=2;
}
for(int j=0;j<num;j++)
{
for(int k=0;k<26;k++)
if (word2[j]==k)
word2[j]=voa[k];
}
cout<<"经过加(解)密变换后的值为:"<<endl;
for (int i=0;i<num;i++)
cout<<word2[i];
cout<<endl;
system("pause");
}
化学试题在某温度下,将H2个I2各0.1mol的气态混合物冲入2L的密闭容器_百...
=0.1mol,所以平衡时c(i2)= 0.1mol 2l =0.05mol\/l,故答案为:0.05mol\/l;(2)在甲条件下w(hi)的变化如曲线(ⅰ)所示,反应时间缩短,碘化氢的含量不变,说明该条件只增大了反应速率不影响平衡,增大压强和加入催化剂对该反应平衡无影响,但都增大反应速率,缩短反应时间;在乙条件下...
二摩尔的氢气和二摩尔的碘放在五升的烧瓶中
解: 设反应掉的氢气为xmol H2 + I2 = 2HI 则: 初始值: 2 1 0 反应掉的或生成的: x x 2x 反应后: 2-x 1-x 2x 故反应后HI的体积分数为2x\/(1-x+2-x+2x)=0.6解得x=0.9 所以碘气的物质的量浓度为(1-0.9)\/2=0.05mol\/L 补充说明:上面是一般解法,请好好领会.另...
某温度下将H2和I2各0.1mol的气体混合物充入10L的密闭容器中,充分反应...
h2(g)+i2(g)?2hi(g)起始时各物质的浓度(mol?l-1) 0 0 0.02 各物质的浓度变化量(mol?l-1)x x 2x 平衡时各物质的浓度(mol?l-1)x x 0.02-2x 根据k不变,所以有k= (0.02?2x) 2 x 2 =0.25,解得x=0.008mol?l-1,所以平衡时氢气物质的浓度为0.008mol?l...
已知H2和I2起始浓度均为0.10mol\/L,达平衡时HI的浓度为0.16mol\/L。若H...
平衡浓度 0.02 0.02 0.16 这是第一次平衡时的状况,由此可以算出平衡常数K=[HI]^2\/([H2]*[I2])K=0.16^2\/(0.2*0.2)=64 H2和I2起始浓度均变为0.20mol\/L时 起始浓度 0.2 0.2 0 转化 x x 2x 平衡浓度 0.2-x ...
化学题求解!
设反应进度是x atm 反应:2HI(g) ←→ H2(g) + I2(g)(假设温度较高,碘全部升华)初始:8.2 0 0 (atm)平衡:8.2-2x x x (atm)Kp = x^2\/(8.2-2x)^2 = 0.0204 x^2 = 0.0204*(8.2-2x)^2 开根号,有x = 0.1428*(8.2-2x)解x=0.911(atm)反应平衡...
安桥功放旗舰新品RZ3400终于发布,有哪些新功能?
透过DLNA及网络播放Hi-Res Audio高分辨率音频DSD Direct 11.2 MHz、DSD256\/128\/64 (转档至PCM);FLAC、 WAV (RIFF)、 AIFF 192 kHz\/24-bit 及ALAC 96 kHz\/24-bit 支持Onkyo Controller 遥控及音乐流 App 四核心 SoC 支持高速 802.11ac (2x2 MIMO) Wi-Fi 网络连接及IP操控用双向Ethernet以太网端子 连接...
为什么平衡时I2和HI的物质浓度为0.020-x和2x,H2的浓度为那个我能理解...
H2+I2=2HI 1: 1 :2 X: X :2X 平衡浓度:c(H2)=0.020-X c(I2)=0.020-X c(HI)=2X(HI原来的浓度为0,所以2X就是HI的平衡浓度)
...H2(g)和1mol I2(g),发生反应H2(g)+I2(g)?2H
x+2x=50%,解得x=0.5mol故K=1 20.5×0.5=4,该温度下,在另一个容积为2L的密闭容器中充入1mol HI(g)发生反应HI(g)?12H2(g)+12I2(g),等效为充入H2和I2各0.5mol,又该反应为气体体积不变得反应故与原平衡成比例等效,则新平衡时氢气为0.5mol×12=0.25mol,HI(g)...
求化学高手帮我做下面几题…… 其中1,2 是单选 7,9,11,13,14,16,19...
16.往一体积不变的密闭容器中充入H2和I2,发生反应H2(g)+I2(g) 2HI(g);△H>0,当达到平衡后,t0时改变反应的某一条件(混合气体物质的量不变),且造成容器内压强增大,下列说法正确的是 (D)A.容器内气体颜色变深,平均相对分子质量不变 B.平衡不移动,混合气体密度增大 C.H2转化率...
氢气和碘蒸气反应不过来的反应历程
各物质的浓度,体积分数,物质的...关于氢气与碘蒸气的可逆反应 —— 原来反应平衡后: H2 + I2 = 2HI平衡后: 1-X 1-X 2X mol浓度:(1-x)\/A (1-x)\/A (2X)\/A正向反应速率:v=kC(H2)C(I2)=k(1-x)^2恒压加入1mol氢气,因为是恒压,所以体系...
田供阿昔: #include using namespace std; #define NUM 1000//定义最大值 void main () { int key[2][2]; char word[NUM]; int word1[NUM]; char word2[NUM]; int num; char voa[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; ...
师河区13068319617: 用C++编写通用的Hill密码软件 - ?
田供阿昔: 使用STL容器即可!std::vector<你要的数组元素类型> 即可满足你所有要求~ 另外计算的时候建议用STL算法~会快很多的~不要再被C++的默认数组迷惑了~
师河区13068319617: c++编写密码加密和解密函数 - ?
田供阿昔: #include <iostream> using namespace std; void encode(char * buff) {char *p=buff;while(*p){*p=255-*p;p++;} }void main() {char buffer[256];cout<<"请输入待加密串";cin>>buffer;encode(buffer);cout<<"加密后结果为:"<<buffer<<endl; }
师河区13068319617: c语言编写hill密码 - ?
田供阿昔: 花了些时间写的,希望对你有帮助~#include<stdio.h> #define N 3 //可加密的字符串长度char plaintext[N]=; //明文,输入时输入字符,参与运算时强制转换成整数 int ciphertext[N]=; //密文,保存成整数,输出时强制转换成字符 int key[N][N]; //...
师河区13068319617: 用C++写程序 输入一个6位数的密码进行加密,输出加密码.然后解密.再输出解密码. - ?
田供阿昔: 没有做输入的保护检查,但是可以完成你要的要求了,刚开始输入6位密码,然后输入你要加的个数#include "iostream" using namespace std; int main(int argc,char **argv) { char password[6]; int n; int i; cout<<"请输入密码:"; for (i=0;i<6;...
师河区13068319617: 用一个C或C++程序实现发送文件的加密和解密操作. - ?
田供阿昔: #include #include void Decrypt() { char fname[FILENAME_MAX];char fname2[FILENAME_MAX]; FILE* fp; FILE* fp1; int key; char c; printf("输入要加/解密文件的路径:\n"); scanf("%s", fname); printf("请输入密钥:\n"); scanf("%d...
师河区13068319617: 使用高级语言(C、C++、C#语言)实现一个加密/解密程序,调试并通过该程序. - ?
田供阿昔: 你们也太麻烦了,下面是我自己写的加密及解密函数,VC6下测试可用!加密程序源码:#include<stdio.h> void main() { int a[7],i,count,n,temp; for(i=0;i<75;i++) //输出一行*,75个 printf("*"); printf("\n此程序将把您输入的一个小于8位的数通过...
师河区13068319617: 用C++写一个对文本文件加密的程序和一个解密的程序.急用呀! - ?
田供阿昔: /*abc.cpp*/#include int jiami(char *file1, char *file2){ FILE *fp1,*fp2; char ch; fp1=fopen(file1,"r"); ...
师河区13068319617: VC平台给二维码加密,然后再解密出来 有人会做吗 用C++语言实现 - ?
田供阿昔: 加密解密都是针对二进制数据来做的 对二维码加密这个说法有歧义,要么针对二维码代表的数据进行加密.要么针对二维码图像进行加密,但是一二维码图,不同角度拍出来,解析都能得到想通的数据,但是图像的二进制数据却完全不一样.如果是要针对内容加密解密,就跟二维码没啥关系了,因为任何数据都可以表示为二维码.可以将原始数据表示位二维码.也可以将加密后的数据表示二维码.可以把“张三”生成二维码.二维码解析与生成 用开源库 zxing
师河区13068319617: 设计一个c++加密和解密程序. - ?
田供阿昔: 用xor加密吧,最简单... void code(char *str, int v) { for (int inx=0; inx!=strlen(str); ++inx) str[inx] ^= v; } void decode(char *encrypt, int v){ for (int inx=0; inx!=strlen(encrypt); ++inx) encrypt[inx] ^=v;}