• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    怎样给文件加密最安全?

    %@ Language = VBScript%>
    %

    Response.Expires = 0


    p = "abcdefg"
    Set TestPWD = New CPassWord
    TestPWD.EnPWD p
    TestPWD.UnPWD TestPWD.ShowPWD(True)

    k = TestPWD.ShowPWD(True)
    l = TestPWD.ShowPWD(False)
    Set TestPWD = Nothing

    With Response
    .Write "
    原文:" p "br>"
    .Write "
    加密后:" k "br>"
    .Write "
    解密后:" L "br>"
    End With


    Class CPassWord
    Private CEnPWD,CUnPWD

    Private Function My_Hex(My_Hex_Source)
      My_Hex = Hex(My_Hex_Source)
      If Len(My_Hex) = 1 Then
       My_Hex = "0" My_Hex
      End If
    End Function

    Private Function My_UnHex(My_UnHex_Source)
      If Len(My_UnHex_Source) = 2 Then
       Temp_Value = My_HexReplace(Left(My_UnHex_Source,1))
      End If
      My_UnHex = Temp_Value * 16 + My_HexReplace(Right(My_UnHex_Source,1))
    End Function

    Private Function My_HexReplace(My_HexReplace_Source)
      If Asc(My_HexReplace_Source) > 64 Then
       My_HexReplace = Asc(UCase(My_HexReplace_Source)) - 55
      Else
       My_HexReplace = Asc(My_HexReplace_Source) - 48
      End If
    End Function

    Public Property Get ShowPWD(EnP)

    ' 输出.
      If EnP Then
       ShowPWD = CEnPWD
      Else
       ShowPWD = CUnPWD
      End If
    End Property

    Sub EnPWD(EnPWD_Source)
      if EnPWD_Source = "" then
       CEnPWD = 0
       Exit Sub
      else
       Randomize
       Key = Rnd * 256
       While Key = 0
        Key = Rnd * 256
       Wend
       For i=1 To Len(EnPWD_Source)
        Temp_String = Key Xor Asc(Mid(EnPWD_Source,i,1))
        Crc = Crc + Temp_String
        CEnPWD = CEnPWD + My_Hex(Temp_String)
       Next
       CEnPWD = My_Hex(Key) + StrReverse(CEnPWD) + My_Hex(Crc Mod 256)
      End if
    End Sub

    Sub UnPWD(UnPWD_Source)
      If Len(UnPWD_Source) 6 Or Len(UnPWD_Source) Mod 2 = 1 then
       CUnPWD = 0
       Exit Sub
      End If
      Old_Key = My_UnHex(Left(UnPWD_Source,2))
      Old_Crc = My_UnHex(Right(UnPWD_Source,2))
      Old_String = StrReverse(Mid(UnPWD_Source,3,Len(UnPWD_Source)-4))
      For i=1 To Len(Old_String) - 1 Step 2
       Temp_Value = My_UnHex(Mid(Old_String,i,2))
       Crc_Temp = Crc_Temp + Temp_Value
       Temp_String = Temp_String + Chr(Temp_Value Xor Old_Key)
      Next
      If Old_Crc > (Crc_Temp Mod 256) Then
       CUnPWD = 403
       Exit Sub
      End If
      CUnPWD = Temp_String
    End Sub
    End Class

    %>

     

    上一篇:如何实现人民币的大写转换?
    下一篇:如何用Access加密页面?
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    怎样给文件加密最安全? 怎样,给,文件,加密,最,安全,