zoukankan      html  css  js  c++  java
  • 网页内容加密

    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

    %>


    测试文件一

    <%
    
    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 "=========================="
    %>

    测试文件二(可以进行加密解密转化)

    <%
    
    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>
    求得解密文本为:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;密码为:
    <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>
  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/computer/p/1781884.html
Copyright © 2011-2022 走看看