这是解密得代码
Public Function den(ByVal str_ As String) As String
If ((str_ Is Nothing) OrElse (str_.Length <= 2)) Then
Return ""
End If
Dim str As String = String.Empty
Dim nb1 As Integer = Integer.Parse(str_.Substring(0, 2))
Dim i As Integer = 2
Do While (i < str_.Length)
Dim nb2 As Integer = ((Convert.ToInt32(str_.Substring(i, 4), &H10) + nb1) / nb1)
str = (str & Convert.ToChar(nb2).ToString)
i = (i + 4)
Loop
Return str
End Function
我要加密怎么写阿
------解决方案--------------------
这字符串,前2字节是a,后边每4个字节都是一个16进制数字x
其实解密的方式就是y=x/a+1。
那么相应的反过来就是了
x=(y-1)*a
这样的话,怎么构造加密方法你应该知道了吧
------解决方案--------------------
public string den(string _str)
{
if (string.IsNullOrEmpty(_str)
------解决方案--------------------
_str.Length <= 2)
{
return "";
}
string str = string.Empty;
int nb1 = int.Parse(_str.Substring(0, 2));
int i = 2;
while (i < _str.Length)
{
int nb2 = ((Convert.ToInt32(_str.Substring(i, 4), 16) + nb1) / nb1);
str = (str + Convert.ToChar(nb2).ToString());
i = (i + 4);
}
return str;
}
public string pen(string _str)
{
string str = string.Empty;
int nb1 = 11;
str = str + nb1.ToString();
foreach (char c in _str.ToCharArray())
{
int nb2 = (int)c * nb1 - nb1;
str = str + nb2.ToString("X4");
}
return str;
}
protected void Page_Load(object sender, EventArgs e)
{
string t = pen("123abcefefWWdadf");
Response.Write(t);
Response.Write("<br/>");
Response.Write(den(t));
Response.End();
}
