网页内容加密
1、防止保存<NOSCRIPT><IFRAME SRC=*.html></IFRAME></NOSCRIPT>
2、防止拷贝<body ondragstart="return false" onselectstart="return false">
3、实现上两条好办,可是要查看源码,一切就都摆给人家了。
参考网上实现方法,也就是密码表和移位运算,实现了对网页文字加密。
加密函数文件
<%
Public Const sDefaultWHEEL1 = "ABCDEFGHIJKLMNOPQRSTVUWXYZ_1234567890qwertyuiopasd!@#$%^&*(),. ~`-=\?/’""fghjklzxcvbnm<>;"
Public Const sDefaultWHEEL2 = "IWEHJKTLZVOPFG_1234567890qwerBNMQRYUASDXCfghjklzxc ~`-=\?/’""!@#$%^&*(),.vbnm<>;tyuiopasd"
Function Encrypt_PRO(sINPUT , sPASSWORD )
Dim sWHEEL1, sWHEEL2
Dim k, c, i
Dim sRESULT
sWHEEL1 = sDefaultWHEEL1: sWHEEL2 = sDefaultWHEEL2
'ScrambleWheels sWHEEL1, sWHEEL2, sPASSWORD
sRESULT = ""
For i = 1 To Len(sINPUT)
c = Mid(sINPUT, i, 1) '逐个取输入字符
k = InStr(1, sWHEEL1, c) ' 返回c在sDefaultWHEEL1的位置
If k > 0 Then
sRESULT = sRESULT & Mid(sWHEEL2, k, 1) '用sDefaultWHEEL2同等位置的字符代替sDefaultWHEEL1
Else
sRESULT = sRESULT & Addpass(c,sPASSWORD)
End If
sWHEEL1 = LeftShift(sWHEEL1): sWHEEL2 = RightShift(sWHEEL2) 'swheel1左移一位,swheel2右移一位
Next
Encrypt_PRO = sRESULT
End Function
Function Decrypt_PRO(sINPUT , sPASSWORD )
Dim sWHEEL1, sWHEEL2
Dim k, i, c
Dim sRESULT
sWHEEL1 = sDefaultWHEEL1: sWHEEL2 = sDefaultWHEEL2
'ScrambleWheels sWHEEL1, sWHEEL2, sPASSWORD
sRESULT = ""
For i = 1 To Len(sINPUT)
c = Mid(sINPUT, i, 1)
k = InStr(1, sWHEEL2, c, vbBinaryCompare) '区分大小写
If k > 0 Then
sRESULT = sRESULT & Mid(sWHEEL1, k, 1)
Else
sRESULT = sRESULT & Addpass(c,sPASSWORD) '得到原始字符
End If
sWHEEL1 = LeftShift(sWHEEL1): sWHEEL2 = RightShift(sWHEEL2) '左移右移
Next
Decrypt_PRO = sRESULT
End Function
Function LeftShift(s )
If Len(s) > 0 Then LeftShift = Mid(s, 2, Len(s) - 1) & Mid(s, 1, 1)
End Function
Function RightShift(s )
If Len(s) > 0 Then RightShift = Mid(s, Len(s), 1) & Mid(s, 1, Len(s) - 1)
End Function
Sub ScrambleWheels(ByRef sW1 , ByRef sW2 , sPASSWORD )
Dim i ,k
For i = 1 To Len(sPASSWORD)
For k = 1 To Asc(Mid(sPASSWORD, i, 1)) * i
sW1 = LeftShift(sW1): sW2 = RightShift(sW2)
Next
Next
End Sub
Function Addpass(tStr,tPass)
'Select Case tStr
'Case Chr(13)
'Addpass = tStr
'Case Chr(10)
'Addpass = tStr
'Case Chr(13)+Chr(10)
'Addpass = tStr
'Case Chr(9)
'Addpass = tStr
'Case Else
'Addpass = Chr((Asc(tPass) Xor Len(tPass)) Xor Asc(tStr)) 'pass 的asc 码异或psdd的长度再异或 c的asc
'End Select
Addpass = tStr
End Function
Function ReadFile(FileName)
Dim fso, f
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath(FileName), ForReading, True)
ReadFile = f.ReadAll
f.Close
End Function
Sub WriteFile(FileName,Str)
Dim fso, f
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(Server.MapPath(FileName), ForWriting, True)
f.Write Str
f.Close
End Sub
%>
测试文件一
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <% Rem = Revision:1.00 Rem = 作者:moson Rem = mail:guoxp@12365.sd.cn %> <!-- #include file="Function.asp" --> <% Str = ReadFile( "test_back.htm" ) Pass = "moson" Encrypt_Str = Encrypt_PRO(Str,Pass) Decrypt_Str = Decrypt_PRO(Encrypt_Str,Pass) Response.Write Encrypt_Str WriteFile "Index.htm" ,Encrypt_Str Response.Write Decrypt_Str response.write "==========================" %> |
测试文件二(可以进行加密解密转化)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <% Rem = Revision:1.00 Rem = 作者:moson Rem = mail:guoxp@12365.sd.cn %> <!-- #include file="Function.asp" --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html> <head> <meta http-equiv= "Content-Type" content= "text/html; charset=gb2312" > <title>加密解密</title> </head> <body> <% Pass = Request( "txtpass" ) If Pass = Null Then Pass = "" %> <form name= "form1" method= "post" action= "TestEncrypt.asp" > 请输入要加密的文本:<br> <textarea name= "txt1" cols= "80" rows= "10" ><%=server.HTMLEncode(Decrypt_PRO(Request( "txt2" ),Pass))%></textarea> <br> 求得解密文本为: 密码为: <input name= "txtpass" type= "text" id= "txtpass" value= "<%=Pass%>" > <br> <textarea name= "txt2" cols= "80" rows= "10" ><%=Encrypt_PRO(Request( "txt1" ),Pass)%></textarea> <br><input type= "submit" name= "Submit" value= "加密" > <input type= "submit" name= "Submit2" value= "解密" > </form> </body> </html> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步