电报加密 描述: 发送电报保密是一项重要的工作,尤其是在军事领域,所以,为了安全的需要常常会对发送的内容进行加密,然后,接收方再进行解密,这样就达到了安全的需要。 本次我们完成一个简单的对字母加密程
2014-09-06 12:44
1001 查看
char* jiami(char* data)
{ int len=strlen(data);
int tmp;
assert(len<100);
for(int i=0;i<len;i++)
{
if(data[i]>='a'&&data[i]<='z'){
tmp=data[i]-'a'+1;
tmp=(tmp*tmp+tmp+1)%52;
if(tmp>=27)
data[i]=tmp-27+'A';
else
data[i]=tmp+'a'-1;
}
if(data[i]>='A'&&data[i]<='Z')
{
tmp=data[i]-'A'+27;
tmp=(tmp*tmp+tmp+1)%52;
if(tmp<27)
data[i]=tmp-1+'a';
else
data[i]=tmp+'A'-27;
}
}
return data;
}
void main()
{
char myda[]="xxx";
cout<<jiami(myda);
}
{ int len=strlen(data);
int tmp;
assert(len<100);
for(int i=0;i<len;i++)
{
if(data[i]>='a'&&data[i]<='z'){
tmp=data[i]-'a'+1;
tmp=(tmp*tmp+tmp+1)%52;
if(tmp>=27)
data[i]=tmp-27+'A';
else
data[i]=tmp+'a'-1;
}
if(data[i]>='A'&&data[i]<='Z')
{
tmp=data[i]-'A'+27;
tmp=(tmp*tmp+tmp+1)%52;
if(tmp<27)
data[i]=tmp-1+'a';
else
data[i]=tmp+'A'-27;
}
}
return data;
}
void main()
{
char myda[]="xxx";
cout<<jiami(myda);
}
相关文章推荐
- 密码发生器(在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了)
- 英文电子邮件加密。为使电子邮件内容保密,往往按一定规律将内容加密后再发送,接收人再按约定的规律将其解密。例如,可以按以下规律将内容加密:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,
- 为了使CallExternalMethod活动工作,我们需要在工作流Runtime中添加一个ExternalDataExchangeService,然后再向ExternalDataExchangeService中添加一个本地服务BugFlowService
- 密码发生器 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或
- 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的
- 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中
- 摘要 MAC,PIN,磁道密钥 在平时的工作中,很少接触安全这块内容,最近需要自己独立完成安全这块内容,在开发中遇到的问题会在下面的理解中得到相应的解决。 在交易平台中,基于安全考
- 异或加密法 在对文本进行简单加密的时候,可以选择用一个n位的二进制数,对原文进行异或运算。 解密的方法就是再执行一次同样的操作。
- C++实现线程同步的几种方式 线程同步是指同一进程中的多个线程互相协调工作从而达到一致性。之所以需要线程同步,是因为多个线程同时对一个数据对象进行修改操作时,可能会对数据造成破坏,下面是多
- C++实现文件简单加密与解密(读取文件中的字符,对字符转换,然后写入,完成加密,解密反之)
- 异或加密法 在对文本进行简单加密的时候,可以选择用一个n位的二进制数,对原文进行异或运算。 解密的方法就是再执行一次同样的操作。
- 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为(转)
- 我们的应用或多或少都会从网络获取图片数据然后进行显示,下面就将实现一个这样的例子,获取网络中的图片!
- 信息安全之程序实现简单替换加密,并用字母频率统计进行破解
- Python——通过while、for、if—else完成一个小程序 学Python的第三天,郑老师让我们写一个计算车费的小程序,还好之前有写小程序的基础,然后很快就完成了,下面是相关内容(^_^)
- JAVA利用RSA加密算法的长度限制问题解决方案注意: RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行。 RSA加密对明文的长度是有限制的,如
- 一般来说我们总会在设置Block之后,在合适的时间回调Block,而不希望回调Block的时候Block已经被释放了,所以我们需要对Block进行copy,copy到堆中,以便后用。 当一个Bloc
- linux内核分析作业:操作系统是如何工作的进行:完成一个简单的时间片轮转多道程序内核代码
- 多个进程同时等待网络的连接事件,当这个事件发生时,这些进程被同时唤醒,我们知道进程被唤醒,需要进行内核重新调度,这样每个进程同时去响应这一个事件,而最终只有一个进程能处理事件成功,其他的进程在处理该事件失败后重新休眠或其他。