当前位置: 技术问答>java相关
一个工作中遇到的问题,请有WEB开发经验的朋友帮忙,分数至少给100分!
来源: 互联网 发布时间:2015-01-19
本文导语: 我在做JSP开发网站的时候,客户提出了这样一个问题: 如:data.jsp?a=112233&b=33445来查询数据,此URL在浏览器地址栏可以看到,若用户把数字改变,可能看到别人的信息,如何解决? 我的想法:能否把数字转为不可识别...
我在做JSP开发网站的时候,客户提出了这样一个问题:
如:data.jsp?a=112233&b=33445来查询数据,此URL在浏览器地址栏可以看到,若用户把数字改变,可能看到别人的信息,如何解决?
我的想法:能否把数字转为不可识别的乱码,如何转?请大家指教!
如:data.jsp?a=112233&b=33445来查询数据,此URL在浏览器地址栏可以看到,若用户把数字改变,可能看到别人的信息,如何解决?
我的想法:能否把数字转为不可识别的乱码,如何转?请大家指教!
|
代码如下:用了一个Encode函数,加密10位以下的String(超过10位可以分开加密)。加密过程不可逆
Public Function Encode(s)
Dim xx(10)
if Len(s) > 10 Or Len(s)=0 then
Encode = s
Exit Function
ElseIf Len(s) = 10 then
For i = 1 to 10
xx(i) = Asc(Mid(s, i, 1))
Next
Else
For i = 1 to Len(s)
xx(i) = Asc(Mid(s, i, 1))
Next
For i = Len(s) + 1 to 10
xx(i) = Len(s) + (i - Len(s)) Mod Len(s)
Next
End if
Dim yy(10)
t = ""
For i = 1 to 10
if i = 10 then
yy(i) = Int(Rnd((-1) * xx(i) * xx(1)) * 79) + 48
Else
yy(i) = Int(Rnd((-1) * xx(i) * xx(i + 1)) * 79) + 48
End if
if yy(i) = "'" then
yy(i) = "$"
End if
t = t + Chr(yy(i))
Next
Encode = t
End Function
Sub SubmitForm()
Dim par1, par2
par1 = "1111"
par2 = "2222"
Window.Location = "test.htm?par1=" & Encode(par1) & _
"&par2=" & Encode(par2)
End Sub
Public Function Encode(s)
Dim xx(10)
if Len(s) > 10 Or Len(s)=0 then
Encode = s
Exit Function
ElseIf Len(s) = 10 then
For i = 1 to 10
xx(i) = Asc(Mid(s, i, 1))
Next
Else
For i = 1 to Len(s)
xx(i) = Asc(Mid(s, i, 1))
Next
For i = Len(s) + 1 to 10
xx(i) = Len(s) + (i - Len(s)) Mod Len(s)
Next
End if
Dim yy(10)
t = ""
For i = 1 to 10
if i = 10 then
yy(i) = Int(Rnd((-1) * xx(i) * xx(1)) * 79) + 48
Else
yy(i) = Int(Rnd((-1) * xx(i) * xx(i + 1)) * 79) + 48
End if
if yy(i) = "'" then
yy(i) = "$"
End if
t = t + Chr(yy(i))
Next
Encode = t
End Function
Sub SubmitForm()
Dim par1, par2
par1 = "1111"
par2 = "2222"
Window.Location = "test.htm?par1=" & Encode(par1) & _
"&par2=" & Encode(par2)
End Sub