最简单的加密方法,凯撒移位加密法,即将每个需加密字符的ascii码加上一个给定的t值,解密时扣掉这个t即可。当然,你可以将t值设为一个表达式,但是这个表达式必须是个双射的表达式,即可以还原的表达式,所以常数是最简单的符合双射原则的表达式。
下面给出移位加密法的程序:
加密:
const t=10(这里自己设定)
var s:ansistring; i:longint;
begin
readln(s);
for i:=1 to length(s) do s[i]:=chr(ord(s[i])+t);
writeln(s);
end
解密:
const t=10(一定要和加密的t值一样)
var s:ansistring; i:longint
begin
readln(s);
for i:=1 to length(s) do s[i]:=chr(ord(s[i])-t);
writeln(s);
end
希望对你有帮助!!
string pText = "fdaei"; //明文
char[] pTextChar = pTextToCharArray();
string cText = (ConvertToChar(pTextChar[pTextCharLength - 1] + 3))ToString(); //最后一个字符置于第一位,同时ASCII + 3
for (int i = 0; i < pTextCharLength - 1; i++)
{
cText += (ConvertToChar(pTextChar[i] + 3))ToString(); //除最后一个字符外所有字符后移一位,同时ASCII + 3
}
MessageBoxShow(cText); //密文
1、在我们的编辑页面输入以下代码。
2、需要将其分成两部分进行代码的编写,因为我们通过观察会发现一部分是顺着算,一部分是逆着算,所以我们必须要分两部分来完成源代码的编辑。
3、先对“将字母A变成字母G,a变成g,B变成H,b变成h”这一部分进行源代码的编写。
4、再对第二个部分“U变成A,V变成B”来进行编写,在整个程序,我们都可以直接用IF判断语句来进行判断输出结果即可。
5、最后,我们的编代码编写完成后,点击“运行”,d出输入页面之后,在输入面板输入任意一个电文字符,然后点击回车键即可得出我们的对应的相应密码。
#include<iostream>
using namespace std;
void Encryption(char string); //密钥加密函数
int main()
{
char p[21]="a1c7ef9";
Encryption(p);
char a=p;
cout<<a<<endl;
return 0;
}void Encryption(char string[])
{
int m=0;
char p=string;
while((p)!='\0') //累计字符串个数
{
m++;
p++;
}
if(m>20) //超出就输出提示
cout<<"密码字符长度超20位不给加密!!"<<endl;
p=string;
while((p)!='\0')
{
m=p;
if(m>=65&&m<=90)
p=m+32; //如果是大写就转小写
if(m>=97&&m<=122)
p=m-32; //如果是小写就转大写
if(m>=48&&m<=57)
{
m=57-m; //如果是数据就按你的规则转换
m+=48;
p=m;
}
p++;
}
}
以上就是关于实现字符加密,如: 输入abc 输出efg;全部的内容,包括:实现字符加密,如: 输入abc 输出efg;、C#里写出一段程序对字符串进行加密。、C语言 简单对字母进行加密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)