数学建模社区-数学中国
标题:
利用URL编码进行加密 [源码]
[打印本页]
作者:
韩冰
时间:
2004-10-9 14:33
标题:
利用URL编码进行加密 [源码]
作者: Atomic ( ckatom@hotmail.com)
" N- c8 G% `5 i4 |6 C
QQ:5538313
0 t2 D' u# z7 S$ ~. G) o1 @+ ]
日期: 18/04/2002
- C% W2 S$ O9 I6 }; n3 z9 F
: D% V6 p/ ?& s" s) C \
( K/ l% Z% l, ~
刚刚拜读了Stamina的“URL编码及C语言实现”,觉得有必要写一个GUI的转换器,于是我就操起VB来 完成了这个作品.
! u$ Q' Z3 W* U* [; k4 w f
其实原理很简单,但是我做GUI界面用了些时间,下面是主要的转换部分:
! i8 j. C2 h6 T/ i* t$ U1 _
$ v/ p! {( H; \5 x+ i! Z$ O" c
''encode - 转成16进制符
, {+ H1 B$ @0 t
- J! F1 V& R9 R j
For i = 1 To Len(strIN)
- e$ Y1 d/ G8 C0 ?7 n
s = CStr(Hex(Asc(Mid(strIN, i, 1)))) ''是不是太~~~快了~~
6 h8 m1 X3 Z" X( d
If Len(s) = 1 Then s = "0" & s ''解出小于F的值就在前面加 0
) x0 |9 J* I' |7 X7 [8 W
strOUT = strOUT & "%" & s
$ c5 x2 n3 m+ F3 z/ T+ u
Next i
: ^ h9 [3 v! E+ f7 p, W
$ {: x6 C8 P; ?8 Q1 c: C7 q$ B8 @
txtOUT.Text = strOUT ''这里就是输出了
- |+ [; W: B! h# p* L9 T o
___________________________________________________________
# {, h. S+ {$ F5 D; h6 i' d
, Z2 k& c* m% X/ c
''decode - 解码, 比较麻烦点
P/ Z' \ `- X3 S) r8 O3 E
" Y/ W1 X, \$ U3 I
For i = 1 To Len(strIN) Step 3 '' Step 3 因为格式是 %XX 三位一个字符
" I( ?' x7 Z; m8 c0 p
s1 = UCase(Mid(strIN, i + 1, 1)) ''得到第2位的16进制数字
) r. l2 ~7 i5 L( o( Y+ z0 v/ ~4 C
s2 = UCase(Mid(strIN, i + 2, 1)) ''得到第1位的16进制数字
9 u' y9 @. ]7 q! ?; t6 d
3 ^/ S1 b, M, [8 q |+ l. n
Select Case s1 '' 进制转换
, s0 X9 s6 T' A) k
Case "A" To "F"
- F5 Y8 c/ g8 X1 \8 u8 N, h
n = (10 + 5 - (Asc("F") - Asc(s1))) * 16
- d1 X. V% H$ M' W2 _
Case Else
% e6 W7 C; r5 N/ {/ T# o- e0 P$ Z
n = Val(s1) * 16
3 R2 U4 v5 p; P" w" {" B d
End Select
. F4 c! E6 v) a& l* l
; \/ X' L4 k6 S* Q/ o' R1 b
Select Case s2
9 b- n8 p8 g9 x; s. { v p
Case "A" To "F"
% K0 A8 v2 r# c9 V
n = n + (10 + 5 - (Asc("F") - Asc(s2)))
, T1 `* A* X$ M/ t
Case Else
) t; y' p$ D. h. S! ^! }
n = n + Val(s2)
. N* m$ ]5 O, y) S5 |! U4 e
End Select
& C( _& {7 t! u0 d$ K1 N
) b4 ]2 A* p1 u* s- K5 E
s = ChrW$(n) '' 转为字符
, N2 \& @7 S$ n; x4 l) l
strOUT = strOUT & s
1 U7 f" t, x, ?7 G0 c6 f' r
Next i
/ w S( ~# F5 U, C; S- l8 v1 P2 `
txtOUT.Text = strOUT
: {# D: T6 I* |$ k' k( f# b
6 Z/ P9 O" l. y* ]0 N) L
+ y* D& ^) x) {; A* \
程序下载: http://apower.uhome.net/download/encoder.zip
& o$ l* O& Q. { ], |" F
http://members.rogers.com/tdl/encoder.zip.
. _7 Z$ v1 H" x5 L8 F
<SCRIPT language=javascript src="../scripts/recommend.js">
, R( h; h1 y7 @4 Q- j
7 [- R, `% g3 j! a- m1 A% Z% \
<script>
复制代码
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5