编程论坛
注册
登录
编程论坛
→
C# 论坛
字符串加密,自己做了,但总有问题
仓乃梦
发布于 2016-10-03 12:02, 2403 次点击
字符串加密:给定一个字符串(以回车符 ‘\n’ 作为输入结束),对字符串中的每一个字符进行加密,生成密文。加密规则如下:若字符为字母,则用该字母之后的第2个字母进行替换,如:字母‘A’由字母‘C’替换(注意:字母‘Z’的下一个字母为字母‘A’);小写字母与大写字母的替换规则一样;若字符为数字,则用该数字之后的第3个数字进行替换,如:数字‘0’由数字‘3’替换(注意:数字‘9’的下一个数字为数字‘0’);其他字符不进行替换。最后输出加密后的字符串。
例如:输入:Hello3?#@Xyz89 输出:Jgnnq6?#@Zab12
谢谢
3 回复
#2
y11
2016-10-06 00:24
替换过后又有替换
#3
yhlvht
2016-10-07 10:37
程序代码:
class
program
{
public
static
void
Main(
string
[] args)
{
string
str = aa(
"
Hello3?#@Xyz89
"
);
Console.WriteLine(str);
Console.ReadKey();
}
public
static
string
aa(
string
str)
{
char
[] arrChar = str.ToCharArray();
for
(
int
i =
0
; i < arrChar.Length; i++)
{
if
(
65
<= arrChar[i] && arrChar[i] <=
90
)
{
int
j = arrChar[i] +
2
;
if
(j >
90
)
{
j -=
26
;
}
arrChar[i] = (
char
)j;
}
else
if
(
97
<= arrChar[i] && arrChar[i] <=
122
)
{
int
k = arrChar[i] +
2
;
if
(k >
122
)
{
k -=
26
;
}
arrChar[i] = (
char
)k;
}
else
if
(
48
<= arrChar[i] && arrChar[i] <=
57
)
{
int
n = arrChar[i] +
3
;
if
(n >
57
)
{
n -=
10
;
}
arrChar[i] = (
char
)n;
}
}
return
new
string
(arrChar);
}
}
#4
仓乃梦
2016-10-09 20:22
谢谢1楼同学,2楼的版主。版主的答案很管用
1