Microsoft Visual C++ 2010 学习版的注册密钥:6VPJ7-H3CXH-HBTPT-X4T74-3YVY7;
Microsoft Visual Studio作为则衫美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。
所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
扩展资料:
1995年,微软乎戚发布了 Visual Studio 初版 (俗称 Visual Studio 4.0)。包含 Visual C++ 4.0,Visual Basic 4.0,Visual FoxPro 4.0 等多个组岁盯陵件。但是,由于这一代产品较老,初版的 Visual Studio 并不能很好的支持现在的新版 Windows 系统。
1997年,微软发布了 Visual Studio 97。包含有面向 Windows 开发使用的Visual Basic 5.0、Visual C++ 5.0,面向Java开发的Visual J++和面向数据库开发的 Visual FoxPro,还包含有创建DHTML(Dynamic HTML) 所需要的 Visual InterDev。其中,Visual Basic 和 Visual FoxPro 使用单独的开发环境,其他的开发语言使用统一的开发环境。
// playFair 加密 你参考下 ...#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#define x 50
char MiYao[x],PassWord[x],AddPass[x],Table[5][5],Map[25]
bool Visit[27]={false}
char English[27]="abcdefghijklmnopqrstuvwxyz"
void Input()
{
printf("请输入密钥:\t") scanf("%s",MiYao)
printf("请输入待加密密码:\t") scanf("%s",PassWord)
}
void Fun_5x5()
{
int count = 0,V =0
/*标记密钥内字符为: true*/
for(int i=0MiYao[i]!='\0'i++)
if(strchr(English,MiYao[i])!=NULL)
Visit[strchr(English,MiYao[i])-English] = true
/*执行密钥矩阵 *** 作 并标记已使用字符:true*/
for(int i=0i<5i++)
for(int j=0j<5j++)
{
if(count<strlen(MiYao))
Table[i][j] = MiYao[count++]
else
{
while(Visit[V] != false) V++
Table[i][j] = English[V]
Visit[V++] = true
}
}
puts("∞∞∞密钥矩阵为∞∞∞")
for(int i=0i<5i++)
{ for(int j=0j<5j++)
printf("%3c",Table[i][j])
puts("")
}
puts("∞∞∞∞∞∞∞∞∞∞∞")
}
int IsVisited(char ch)
{
return Visit[strchr(English,ch)-English] //false 未出现过
}
void TabletoMap()
{ int count=0
for(int i=0i<5i++)
for(int j=0j<5j++)
Map[count++]=Table[i][j]
Map[count]='\0'
}
void Judge()
{
int len = strlen(PassWord),i,j,k
memset(AddPass,0,sizeof(char))
/*一对对去字母,剩下单个字母,则不变化,直接放入加密串中.*/
if(len%2){
AddPass[len-1] = PassWord[len-1]
len -=1
}
/*一对中 密钥矩阵中 存在矩阵 eg.ab 先输出a同行顶点在输出b同行顶点*/
int row1,low1,row2,low2,a1,a2
for(i=0i<leni+=2)
{
char c1,c2
c1 = PassWord[i]
c2 = PassWord[i+1]
/*一对中 两字母相同 无变化*/
/*一对中 有字母不在密钥矩阵中 无变化*/
if(c1 == c2 || ( !IsVisited(c1)||!IsVisited(c2)))
{ AddPass[i] = c1
AddPass[i+1]=c2
}else{
a1 = strchr(Map,c1)-Map
row1 = a1/5 low1 = a1%5
a2 = strchr(Map,c2)-Map
row2 = a2/5 low2 = a2%5
/*一对中 字符出现在同行或同列 简单swap字符*/
if(row1 == row2 || low1 == low2)
{
AddPass[i] = c2
AddPass[i+1] = c1
}else{
AddPass[i] = Table[row1][low2]
AddPass[i+1] = Table[row2][low1]
}
}
}AddPass[len+1]='\0'
puts("加密后字符串:")
puts(AddPass)
puts("原串是:")
puts(PassWord)
}
int main()
{
Input()
Fun_5x5()
TabletoMap()
Judge()
return 0
}
#include<stdio.h>#include<stdlib.h>
main()
{
int key
char ch
printf("\n请输入密钥:")
scanf("%d",&key)
printf("得到对应明文如下:")
while((ch=getchar())!='\r')
(ch+key)>122?putchar(ch-122+33+key):
((ch+key)<33?putchar(ch+122+key):putchar(ch+key))
}
输入输出如下:
请输入密钥:20addse
得到对应明文如下:uxx.y
你先输入一个任意的整数,握州衫如20,然后在键盘上输入一段任意的字符如addse
按回车键结束,就会得到结果段腔 如:uxx.y
下面是另一迹销组输入输出:
请输入密钥:35asjRYIRER!@#$^^*&
得到对应明文如下:+=4u#luhuDcFG((MI-
具体是如何加密,你应该能看懂,就是用一个三目运算符 ? :控制。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)