在我们的程序设计中,我们经常要加密一些特殊的内容,今天总结了几个简答的加密方法,分享给大家!
方法一:简答的字符加减
这个方法实际就是运用字符码的加减来乱序,生成一个看似无序的字符,上例子:
加密:
//加密算法
public string StrInCoded(string str)
{
string s = "";
try
{
for (int i = 0; i < str.Length; i++)
{
s += (char)(str[i] + 8);
}
s=
return s;
}
catch
{
return str;
}
}
解密:
//解密算法
public string StrDeCoded(string str)
{
string s = "";
try
{
for (int i = 0; i < str.Length; i++)
{
s += (char)(str[i] - 8);
}
s=
return s;
}
catch
{
return str;
}
}
方法二:生成纯数字的字符
这个方法也很简单,我们可以利用c#封装好的进制转换来完成字符的标记和切分:
加密:
//加密算法
public string StrEnCoded(string value)
{
StringBuilder sb = new StringBuilder();
foreach (char c in value)
{
int cAscil = (int)c;
sb.Append(Convert.ToString(c, 8) + "9");
}
return sb.ToString();
}
说明:{Convert.ToString(c, 8) + "9"}这段代码是将C转换成8进制,再加上9这个不可能在8进制中出现的数字来分割字符
八进制数字序列:0,1,2,3,4,5,6,7,10
解密:
//解密算法
public string StrDeCoded(string value)
{
string[] splitInt = value.Split(new char[] { ‘9‘ }, StringSplitOptions.RemoveEmptyEntries);
var splitChars = splitInt.Select(s => Convert.ToChar(
Convert.ToInt32(s, 8)
).ToString());
return string.Join("", splitChars);
}
说明:=>叫 lambda 运算。
读作 “goes to”
就是把左边声明的变量带入到=>右边的表达式或者代码段里。
这里我想说,重要的不是怎么实现这个过程,而是我们要想到使用!想到要加密,想到加密的好处!