繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 怎样给文件加密最安全(一种方法)?

怎样给文件加密最安全(一种方法)?

2006-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:这里提供了文件加密的一段小程序,以供大家参考. 64 Then My_HexReplace = Asc(UCase(My_HexReplace_Source)) - 55 Else My_HexReplace = Asc(My_HexReplace_Source) - 48 End If End Function Public Property...

这里提供了文件加密的一段小程序,以供大家参考.

<%@ 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 & "
"

.Write "加密后:" & k & "
"

.Write "解密后:" & L & "
"

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

%>

责任编辑:admin
相关文章