我需要一个简单加解密的字符串函数.用asp.net实现,但在asp中也可以进行解密.
谢谢各位!
谢谢各位!
解决方案 »
- 重装系统(XP)后,原数据库文件(sql2008)不能附加?错误见图
- 求一正则表达式!!!!!!!!!!!!!!!!!!!
- 索引 -3 不是为负数,就是大于行数
- asp:repeater 如何将ID参数传给删除按钮呢?
- 怎样使DataList里的RadioButton相互间单选,谢谢!
- 你有理想么,你有资金么,你有技术么,为什么要打工呢??
- 水晶报表的问题,能帮我解决下吗?
- 如何与access数据库连接。
- ========提问高手一个简单的连线问题==============
- 如何才能是ajaxpro和自己写的ashx共存
- 为什么这个下面的用OnCommand不行,用OnClick就行,两者的区别是啥呢?
- 我从后台上传图片到数据库后,数据库路径出了问题???
<%
'function decrypt(dcode) '加密函数
' dim texts
' dim i
' for i=1 to len(dcode)
' texts=texts & chr(asc(mid(dcode,i,2))-i)
' next
' decrypt=texts
'end function
'function encrypt(ecode)'解密函数
' Dim texts
' dim i
' for i=1 to len(ecode)
' texts=texts & chr(asc(mid(ecode,i,2))+i)
' next
' encrypt = texts
'end Function
'加密函数,调用方法decrypt("字符")
function decrypt(venshop)
for i=1 to len(venshop)
if mid(venshop,i,1)<>chr(13) then
ven=asc(mid(venshop,i,1))+5
if ven>127 or ven<33 then
ven=ven-95
end if
vena=vena&chr(ven)
else
vena=vena&"+"
end if
next
decrypt=vena
end function
'解密,调用方法encrypt("")
function encrypt(venshop)
for i=1 to len(venshop)
if mid(venshop,i,1)<>"+" then
ven=asc(mid(venshop,i,1))-5
if ven>126 then
ven=ven-95
elseif ven<32 then
ven=ven+95
end if
vena=vena&chr(ven)
else
vena=vena&chr(13)
end if
next
encrypt=vena
end Function%>.net代码:
//加密
public string encode(string str)
{
string vena="";
for(int i=0;i<str.Length;i++)
{
if(str.Substring(i,1).IndexOf("\n")==-1)
{
//转换成ascii
byte[] by=System.Text.Encoding.ASCII.GetBytes(str.Substring(i,1).ToString());
int len =by[0]+5;
if(len>127|| len<33)
{
len=len-95;
}
vena=vena+System.Text.Encoding.ASCII.GetString(new byte[]{(byte)len});
}
else
{
vena=vena+"+";
}
}
return vena;
}
//结密
public string decode(string str)
{
string vena="";
for(int i=0;i<str.Length;i++)
{
if(string.Compare(str.Substring(i,1).ToString(),"&")!=0)
{
//转换成ascii
byte[] by=System.Text.Encoding.ASCII.GetBytes(str.Substring(i,1).ToString());
int len=by[0]-5;
if(len>126)
{
len=len-95;
if(len<32)
{
len=len+95;
}
}
else
{
vena=vena+System.Text.Encoding.ASCII.GetString(new byte[]{(byte)len});
}
}
else
{
vena=vena+System.Text.Encoding.ASCII.GetString(new byte[]{13});
}
}
return vena;
}
算法反正相同
所以在asp.net跟asp里一样的用,只是代码表示不同而已