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>
  • 相关阅读:
    Aurora 数据库支持多达五个跨区域只读副本
    Amazon RDS 的 Oracle 只读副本
    Amazon EC2 密钥对
    DynamoDB 读取请求单位和写入请求单位
    使用 EBS 优化的实例或 10 Gb 网络实例
    启动 LAMP 堆栈 Web 应用程序
    AWS 中的错误重试和指数退避 Error Retries and Exponential Backoff in AWS
    使用 Amazon S3 阻止公有访问
    路由表 Router Table
    使用MySQLAdmin工具查看QPS
  • 原文地址:https://www.cnblogs.com/computer/p/1781884.html
Copyright © 2011-2022 走看看