数学建模社区-数学中国
标题:
利用URL编码进行加密 [源码]
[打印本页]
作者:
韩冰
时间:
2004-10-9 14:33
标题:
利用URL编码进行加密 [源码]
作者: Atomic ( ckatom@hotmail.com)
@; ^; U9 r5 E: u7 d; K/ _
QQ:5538313
2 B2 [! q! K: o- p+ R
日期: 18/04/2002
4 b9 z5 S4 k* y1 h: b
6 t+ ?' n j' g+ Q' i
6 K$ s( v( z4 C. B. u
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
% n& k# ?. a \+ @7 P% E
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
! h3 C5 L _; L9 s
+ Q* J# z# x# f+ w
''encode - 转成16进制符
: `% X y& U, j' o
& A% w% }/ f5 |. d
For i = 1 To Len(strIN)
* x: t2 e/ ~' Q) y2 S7 ]7 U* Y
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
" u9 z& k, F5 d. l( y
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
" j( R; u4 c4 R+ ], `
strOUT = strOUT & "%" & s
, f( H9 z" C* h" Z" ~2 f! y( r2 s3 K
Next i
( h8 G d9 c& z5 G0 z o- W
& g5 p" d" L% |' I8 [- k
txtOUT.Text = strOUT ''这里就是输出了
) D; v s$ N" Z5 u3 l9 f
___________________________________________________________
( D, D1 ]- ]; B9 g. X
2 V! ^& m5 Y9 Z5 j' B0 t" Z
''decode - 解码, 比较麻烦点
8 f. }1 Q9 {' X/ K8 u0 W
$ X' P7 Z5 a$ j P; X2 Z) _
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
9 A6 b! K4 q7 O% b3 a: V6 W
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
3 {9 l$ y$ k2 S {1 k6 `8 V
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
2 d9 J5 k, O+ f6 w' e5 s: @
9 H* ~' E' v& T5 P2 [) n
Select Case s1 '' 进制转换
$ w8 Z! K; _( f$ j! K
Case "A" To "F"
1 ?& P- f7 M5 h- i s# T1 U
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
( F7 ~% x& I$ \3 |. x* Q
Case Else
; z# j: j- k& t& o; p; ~; O
n = Val(s1) * 16
/ G: v8 d: h2 H. C/ i
End Select
o9 K# I( p2 U |8 u9 m; U& \
# U, {% l) C9 O# I7 L6 g6 q! E
Select Case s2
0 J" K/ s9 ?3 b1 N
Case "A" To "F"
/ Z" P8 {4 K) m& T: ~0 Q
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
o# Y/ s. O6 L% h2 J3 t
Case Else
: S; |8 f1 u# p" s" }+ I
n = n + Val(s2)
) r* C# M0 }7 p3 m# b% ~) q
End Select
8 A2 i9 D: O2 `5 ?
+ e5 j0 s- I1 ~
s = ChrW$(n) '' 转为字符
1 O# k9 G; I, A6 S& {4 |3 Y8 T$ ^% k
strOUT = strOUT & s
( u3 L+ l1 f" p' C
Next i
j/ F# p6 G& D5 V9 W- H
txtOUT.Text = strOUT
# `. ^6 N4 I f* ?" j; a! G" n
4 ?: D2 {- r1 E5 @: P% m: U
0 E4 K$ a# L$ X0 M- y
程序下载: http://apower.uhome.net/download/encoder.zip
% ?6 F8 C7 `: M* E# C
http://members.rogers.com/tdl/encoder.zip.
+ I2 f% |- q2 `' O8 F# |9 q
<SCRIPT language=javascript src="../scripts/recommend.js">
' ]( ^9 \0 s. w5 g& H8 y
) \% D b1 @' }* M( |4 H( q, {2 q
<script>
复制代码
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5