概述
“凯撒”密码的算法很简单。该算法中,单词的每一个字母都被字母表中与该字母相隔四个字母的下一个字母替换。例如,“Abyz”变成了“Fgde”。
public string Caesar(string str)
{ int spaceNum = 5; c
har[] c= str.ToCharArray();
string strCaesar = "";
for (int i = 0; i < str.Length; i++)
{ s
tring ins=c[ i ].ToString ();
string outs="";
bool isChar = "abcdefghijklmnopqrstuvwxyz".Contains(ins.ToLower()); bool isToUpperChar=isChar && (ins.ToUpper()==ins);
ins=ins.ToLower ();
if (isChar)
{ i
nt offset=(AscII(ins)+spaceNum-AscII ("a"))%(AscII ("z")-AscII ("a")+1) ; outs = Convert.ToChar(offset + AscII("a")).ToString ();
if(isToUpperChar)
{
outs=outs.ToUpper();
}
}
else
{
outs =ins;
}
strCaesar+=outs;
}
return strCaesar ;
}
其中将字符转换为ASCII码的代码如下:
public int AscII(string str) {
byte[] array = new byte[1];
array = System.Text.Encoding.ASCII.GetBytes(str);
int asciicode = (short)(array[0]);
return asciicode;
}
最后
以上就是专注煎蛋为你收集整理的C#实现“凯撒”密码的算法的全部内容,希望文章能够帮你解决C#实现“凯撒”密码的算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复