数学建模社区-数学中国
标题:
利用URL编码进行加密 [源码]
[打印本页]
作者:
韩冰
时间:
2004-10-9 14:33
标题:
利用URL编码进行加密 [源码]
作者: Atomic ( ckatom@hotmail.com)
* b x w: g; u* K. U' D
QQ:5538313
/ G S4 R" v! R; l
日期: 18/04/2002
# w g7 B9 y5 C
3 Z9 }8 c5 p5 X: ]' P8 h2 x4 `" Z
+ c8 b& Q3 g# G' V$ P
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
" T) O7 m3 z0 g* ~- U
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
4 j, i1 s5 y, i2 R4 w+ G0 N
: p& T: I. J; H# [2 Q
''encode - 转成16进制符
s% Q* l" i0 r# U; Q* X
" x6 r3 U X6 y9 o( v$ r- u
For i = 1 To Len(strIN)
) g4 h1 p, I; n$ d
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
$ t. K: S# I: J/ T8 o+ D
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
. I& T0 N# T# M3 e, q; c
strOUT = strOUT & "%" & s
- B, H' G* J6 H, p" M
Next i
" G& i" E. O. f
! P- _/ b2 \' i% q4 {; k
txtOUT.Text = strOUT ''这里就是输出了
0 \. O6 }3 D3 c5 Y, A4 R# f7 _
___________________________________________________________
9 U# c/ r2 I6 j/ \6 L; P
3 e- T" s2 t7 @: \( l! @- a
''decode - 解码, 比较麻烦点
- B7 i/ {. G( s# {/ L3 f
+ Q0 j$ @% y, U
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
9 _! ^# y7 H' h3 Y0 ]7 h4 ^+ F% f
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
% t$ B# J: t$ f! I; b0 Y
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
+ e- _& A: c$ Y8 H. g4 I
. o/ c; r2 Y* w P
Select Case s1 '' 进制转换
( R+ X0 d3 `" N
Case "A" To "F"
- G4 F9 \/ b D9 n5 ^. j+ \
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
# `9 `9 P, Y9 S8 k4 e" o
Case Else
; L; R6 ~0 B7 C$ C# P6 O; A
n = Val(s1) * 16
], T; H9 M$ ]0 ~6 B
End Select
2 s, N# E/ T6 Y4 V! L
6 P. @) ~( O4 A2 k9 f7 T
Select Case s2
( i' S6 r: K7 r/ L
Case "A" To "F"
% V" T) h4 _" |! n3 A
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
9 Z% W- ~7 u+ l6 y4 @6 S
Case Else
* \ c1 K0 H( R: l
n = n + Val(s2)
0 m3 }- v0 x. W, O* H: ~' E- H# r
End Select
2 @& X) v% e8 E( A
9 g- G% _- ?% R( z4 g$ l7 \3 y* c0 G
s = ChrW$(n) '' 转为字符
3 s& ~$ n) n' E" {% ~6 u
strOUT = strOUT & s
6 V1 y) }/ K5 V6 Y: Y- u3 o7 X! [
Next i
5 o G" y g, R y
txtOUT.Text = strOUT
4 W) [, y! P/ V' q9 U6 ~
3 f2 M h; A: e
' M1 c" T. _& |6 g. }: d5 o+ `
程序下载: http://apower.uhome.net/download/encoder.zip
% N3 T0 u* e# K2 y4 i
http://members.rogers.com/tdl/encoder.zip.
! ^7 E. T+ l" k4 v
<SCRIPT language=javascript src="../scripts/recommend.js">
+ @' ^2 g( T7 Y0 H2 t
5 b: ?5 N; V# W- Q+ x% }3 y
<script>
复制代码
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5