网络编程 
首页 > 网络编程 > 浏览文章

怎样给文件加密最安全?

(编辑:jimmy 日期: 2024/11/5 浏览:3 次 )

<%@ 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加密页面?
下一篇:如何实现人民币的大写转换?
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap